- ベストアンサー
Oracleに日付や時刻のリテラルはないのか
Webで色々検索しているのですが、なかなか「これだ!」という情報に当たらず、お教えいただきたく存じます。 OracleのSQLで、日付や時間を表現するリテラルは存在しないのでしょうか? 必ず to_date(文字列, 'YYYY/MM/DD') と言うように文字列表現と関数の組み合わせでなければならないのでしょうか? to_date(文字列, 表現形式)とto_timestamp(文字列, 表現形式)を見つけたのですが、to_time(文字列, 表現形式)というのが見当たりませんでした。to_time関数は存在しないのでしょうか オラクルのSQLはバージョンによって微妙に違う、というような記述を過去ログに見つけたのですが、8と9について情報をお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
to_dateで時刻も入れられますよ。 こんな感じです。 insert into test_table values(to_date('2002/01/01 23:59:00', 'yyyy/mm/dd hh24:mi:ss')) 時刻に関しては書式の記述方法にくせがあるので注意してください。 (hh24やmiなど)
その他の回答 (2)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
>(日付を伴わない)純粋な時刻を to_date('23:59:00','hh24:mi:ss') >と表現することも可能でしょうか? ちょっと忘れてしまいました。 すぐ手元にOracleの環境がないもので。 to_charで、時刻のみ取り出すことは可能なはずです。 お急ぎでしたらご自分で試すほうが早いのでは?
お礼
返事が遅くなりました。 こちらも、環境がないものですから、試せば分かるような事を いろいろ伺ってしまいました。
- TMINET
- ベストアンサー率32% (45/140)
'2002-07-26'とそのまま書いても日付型なら日付が入ると思いますけど。 時刻も'2002-07-26 00:00:00'で入れられます。
補足
Oracleに時刻型というのが存在するのか分からないのですが、 SELECT ... FROM ... WHERE 時刻型カラム <= '23:00:00' のように記述したとき、文脈に応じてOracle側で'23:00:00'を時刻として取り扱ってくれる という理解でよろしいでしょうか? (時刻型が存在せず日付型しかない場合は、上の文章は「時刻」を「日付」に読み替えたら成り立つのかしら?)
補足
(日付を伴わない)純粋な時刻を to_date('23:59:00','hh24:mi:ss') と表現することも可能でしょうか?