date类型是Oracle常用的日期型变量,时间间隔是秒。两个日期型相减得到是两个时间的间隔,注意单位是“天”。
timestamp是DATE类型的扩展,可以精确到小数秒(fractional_seconds_precision),可以是 0to9,缺省是6。两个timestamp相减的话,不能直接的得到天数,而是得到,多少天,多少小时,多少秒等。
举例如下:
to_date:
1
|
select
to_date(
'2016-01-01 00:00:00'
,
'yyyy-mm-dd hh24:mi:ss'
)-sysdate
from
dual;
|
结果:
to_timestamp:
1
|
select
to_timestamp(
'2016-01-01 00:00:00'
,
'yyyy-mm-dd hh24:mi:ss'
)-systimestamp
from
dual;
|
结果:
说明:
当使用date和timestamp类型的时候,选择是很清楚的。可以随意处置date和timestamp类型。当试图转换到更强大的timestamp的时候,需要注意,它们既有类似的地方,更有不同的地方,而足以造成破坏。两者在简洁和间隔尺寸方面各有优势,请合理地选择。
TO_CHAR(G.UPDATED_TIME, 'yyyy-mm-dd hh24:mi:ss') UPDATED_TIME,