有时候,需要对数据库中的时间字段进行一些比较运算,而运算的差值不是整天、整月等,这个时候将时间转换成毫秒数会多了一些判断方法:
基本方法:(t.#COLUMN#-to_date('1970-01-01 08:00:00','yyyy-mm-dd hh24:mi:ss'))*24*60*60*1000;这样得到的就是当前时间对应的毫秒数;
用例:
SELECT
id,
day,
SHIFTSTART,
DURATION,
(t.SHIFTSTART-to_date('1970-01-01 08:00:00','yyyy-mm-dd hh24:mi:ss'))*24*60*60*1000 + t.DURATION*60*1000 as time1,
(t.SHIFTSTART-to_date('1970-01-01 08:00:00','yyyy-mm-dd hh24:mi:ss'))*24*60*60*1000 as time2,
to_char(t.shiftStart+t.duration/(24*60),'hh24miss') as time3
FROM
w009_calendar_detail_tab t
查询结果如下:其中time2 为当前时间的毫秒数