PL/SQLでのDATE型の取扱いについて教えてください。
初期化パラメータNLS_DATE_FORMATが'YY-MM-DD'で、
ある列を'YYYY/MM/DD HH24:MI:SS'形式でDBにINSERTしたい場合、
dtWorkEndDate := to_date(charWorkEndDate, 'YYYY/MM/DD HH24:MI:SS');
としてINSERTにdtWorkEndDateを用いると、
YY-MM-DD形式でDBに登録されてしまいます。
(dtWorkEndDateはDATE型。)
ORACLEの設定かPL/SQLの問題なのかわからないのですが、
なにかアドバイスを頂けないでしょうか。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
q=2142210 No.3でも指摘されてますが、
execute immediate文を使ってるのが、悪さしてるのでは。
dtWorkEndDate := to_date(charWorkEndDate, 'YYYY/MM/DD HH24:MI:SS');
INSERT INTO テーブル名 VALUES ( dtWorkEndDate );
――みたいに、単純な書き方で済むはずですが。
この回答への補足
やはりexecute immediateの中でシングルクォートを
用いていたのが良くなかったようです。
INSERT INTO テーブル名 VALUES to_date(charWorkEndDate, 'YYYY/MM/DD HH24:MI:SS')
とし、to_dateを文字列で渡してやることにより
問題解決致しました。
ありがとうございました。
No.1
- 回答日時:
DBにどんな形式で日付が格納されているかを
どのように確認していますか?
例えば CREATE TABLE worktable (end_date date);
というテーブルなら
SQL*Plusで
SQL> SELECT * from worktable;
としただけではNLS_DATE_FORMATが効いてしまうので
SQL> SELECT to_char(end_date, 'yyyy/mm/dd hh24:mi:ss') from worktable;
とするか
SQL> alter session set nls_date_format='yyyy/mm/dd hh24:mi:ss');
SQL> SELECT end_date from worktable;
とする必要がありますね。
回答ありがとうございます。
今まではデータをSI Object Browserで確認していたのですが、
OracleのEnterprise Managerで確認したところ、
時刻もINSERTされていました。
データ確認の際にNLS_DATE_FORMATが影響することに
気付きませんでした。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Scratchで以下のような作品を共...
-
近年誕生したプログラミング言語
-
Google ColaboでGUI作成
-
Pythonでの文字列からfloatへの...
-
IT業界より楽に稼げる業界って...
-
プログラミング
-
vba クリップボードクリアにつ...
-
Arduinoに関する質問
-
プログラマーに向いている人の...
-
ホログラムを作ってくれる会社...
-
Python... 環境設定 初心者です...
-
ITパスポートの勉強をしていま...
-
オブジェクト指向プログラミン...
-
Gitについて質問。 クローンし...
-
プログラミング言語について
-
matplotlibでのLaTex表示
-
ウェブサイトのアクセスログに...
-
プログラミング ソースコード
-
ものづくりに向いているプログ...
-
ラズベリーパイピコでのPch MOS...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHP+MySQLで月ごとの数量を表...
-
postgresのカレンダーについて
-
By moving its office to Calif...
-
MySQLのUPDATE文でサブクエリ
-
データ更新用のphpの記述でデー...
-
PHPでMySQL内のデータの合計値...
-
Prologの現在時間の取得
-
dateのフィールドタイプについて
-
【PL/SQL】DATE型の時刻の表示...
-
掲載日と更新日の管理の仕方
-
on duplicate key update 構文
-
PHPとMysqlを使用した集計表の...
-
今日が6月か、9月か、12月...
-
MySQL + PHP 同じテーブル内で...
-
SQLローダーCSV取込で、囲み文...
-
select文の実行結果に空白行を...
-
【PL/SQL】FROM区に変数を使う方法
-
ファイルの漢数字の順番につい...
-
テーブルの最後(最新)のレコー...
-
単一グループのグループ関数で...
おすすめ情報