トップページに戻る    次のSQLパズルへ    前のSQLパズルへ

8-24 to_date関数の書式指定での時分秒の省略

SQLパズル

to_dateの書式指定で、
時分秒を省略すると、それを0とみなすことの考察


SQL

col test1 for a20
col test2 for a20
col test3 for a20
col test4 for a20
col test5 for a20
col test6 for a20

select
to_char(to_date('05/05'           ,'MM/DD')             ,'YYYY/MM/DD HH24:MI:SS') as test1,
to_char(to_date('2008'            ,'YYYY')              ,'YYYY/MM/DD HH24:MI:SS') as test2,
to_char(to_date('2008/05'         ,'YYYY/MM')           ,'YYYY/MM/DD HH24:MI:SS') as test3,
to_char(to_date('2008/05/05 23:22','YYYY/MM/DD HH24:MI'),'YYYY/MM/DD HH24:MI:SS') as test4,
to_char(to_date('2008/05/05 23'   ,'YYYY/MM/DD HH24')   ,'YYYY/MM/DD HH24:MI:SS') as test5,
to_char(to_date('2008/05/05'      ,'YYYY/MM/DD')        ,'YYYY/MM/DD HH24:MI:SS') as test6
from dual;

test1                test2                test3
-------------------  -------------------  -------------------
2008/05/05 00:00:00  2008/02/01 00:00:00  2008/05/01 00:00:00

test4                test5                test6
-------------------  -------------------  -------------------
2008/05/05 23:22:00  2008/05/05 23:00:00  2008/05/05 00:00:00


解説

年は省略すると、実行した年
月は省略すると、実行した月
日は省略すると、1
時は省略すると、0
分は省略すると、0
秒は省略すると、0

となります。

truncは不要だったか・・・