oracle时间转换问题汇总

1、遇到一个这样的需求,有一个数据导入任务需要根据前一次导入成功后插入的时间截与当前时间做对比

来判断是否超过了配置的时间间隔(秒),之前数据库中存入的时间截是20位的number型(20180227090000000000),

但是现有库中获取当前时间的函数返回14位的number型(20150628090000),这两个值要做对比并能够算出相差

时间间隔(秒):

select

case

when length(t.import_timestamp) = 20 then

ceil((to_date(pg_basic_func.f_get_updateTime, 'yyyymmddHH24miss') - to_date(substr(to_char(t.import_timestamp),1,14), 'yyyymmddHH24miss'))* 24 * 60 * 60)

when length(t.import_timestamp) = 14 then

ceil((to_date(pg_basic_func.f_get_updateTime, 'yyyymmddHH24miss') - to_date(to_char(t.import_timestamp), 'yyyymmddHH24miss'))* 24 * 60 * 60)

else -1

end as time_sep

from ttablemap t where t.tm_id = 22;

这样就能顺利计算时间的差值了;

原文地址:https://www.cnblogs.com/skiing886/p/8515215.html