質問 |
||
| 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 |
|
| |
| この回答への補足 | この回答に補足をつける(質問者のみ) |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |