我正在确定Oracle中两个时间戳字段之间的区别。
(TIMESTAMPa-TIMESTAMPb)
结果:+09 19:16:04.747000
我试图注意结果值是正还是负。
我目前的解决方案有效,但我认为必须有更好的方法。
解决方案:
CASE
WHEN SUBSTR((TIMESTAMPa-TIMESTAMPb),1,1)='+'
THEN 'AFTER'
ELSE 'BEFORE'
END AS DIFF
答案 0 :(得分:3)
interval '0' day
可以替换为任何其他' 0'间隔
select case
when (timestamp '2017-02-01 20:07:09' - timestamp '2017-02-01 21:35:02') > interval '0' day
then 'AFTER'
else 'BEFORE'
end
from dual
在
...但为什么不直接比较?
select case
when timestamp '2017-02-01 20:07:09' > timestamp '2017-02-01 21:35:02'
then 'AFTER'
else 'BEFORE'
end
from dual
在