ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3495118 oracleのDate型
質問者:agchicken Ceate table test(
field1 date
)

insert into test values(current_timestamp);

上記の処理でDate型の列にcurrent_timestampデータを入れても、年月日までしかはいらないのですが、yyyy/mm/dd hh24:mi:ssの形で
はできないのでしょうか?oracleは10gです。
困り度:
  • すぐに回答を!
質問投稿日時:
07/11/06 20:11
最新から表示回答順に表示

回答

ANo.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
回答者:MZ-80B
種類:回答
どんな人:一般人
自信:参考意見
回答日時:
07/11/07 12:02
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.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' )
);
回答者:nitorin
種類:アドバイス
どんな人:専門家
自信:参考意見
回答日時:
07/11/07 09:42
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.1 date型なのでCURRENT_DATEを使います。秒まで入るはず

date型 → 最小単位は秒
timestamp型 → 最小単位はミリ秒

ですが、date型にtimestamp型を入れた場合、時刻が丸ごと切り捨てられます。
それでそういった挙動になります。
回答者:iyomante
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:
07/11/06 20:50
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼この回答にお礼をつける(質問者のみ)
 
最新から表示回答順に表示