アプリ版:「スタンプのみでお礼する」機能のリリースについて

Ceate table test(
field1 date
)

insert into test values(current_timestamp);

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

A 回答 (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
    • good
    • 0

#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' )
);
    • good
    • 0

date型なのでCURRENT_DATEを使います。

秒まで入るはず

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

ですが、date型にtimestamp型を入れた場合、時刻が丸ごと切り捨てられます。
それでそういった挙動になります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す