• 締切済み

oracleのDate型

Ceate table test( field1 date ) insert into test values(current_timestamp); 上記の処理でDate型の列にcurrent_timestampデータを入れても、年月日までしかはいらないのですが、yyyy/mm/dd hh24:mi:ssの形で はできないのでしょうか?oracleは10gです。

みんなの回答

  • MZ-80B
  • ベストアンサー率56% (46/81)
回答No.3

データの暗黙的な変換が原因ではなく表示上の問題ではありませんか? SQL> create table hoge ( d date ); 表が作成されました。 SQL> insert into hoge values (current_timestamp); 1行が作成されました。 SQL> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss'; セッションが変更されました。 SQL> select * from hoge; D ------------------- 2007-11-07 12:00:12

  • nitorin
  • ベストアンサー率55% (11/20)
回答No.2

#1さんの解説で十分かと思いますが、 蛇足で、 >yyyy/mm/dd hh24:mi:ssの形ではできないのでしょうか?oracleは10gです 下記のようにすれば設定できます。 insert into test values( TO_DATE( TO_CHAR(CURRENT_TIMESTAMP,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD HH24:MI:SS' ) );

  • iyomante
  • ベストアンサー率60% (14/23)
回答No.1

date型なのでCURRENT_DATEを使います。秒まで入るはず date型 → 最小単位は秒 timestamp型 → 最小単位はミリ秒 ですが、date型にtimestamp型を入れた場合、時刻が丸ごと切り捨てられます。 それでそういった挙動になります。

関連するQ&A