在函数中,我需要为TIMESTAMP(6)
类型的变量添加一定的秒数,并比较当前时刻是否在结果之前。
如何在TIMESTAMP
变量中添加秒数并以格式获取当前时间,以便将其与结果进行比较?如何为这种情况形成表达式?
要添加的秒数存储在INTEGER
类型变量中。
答案 0 :(得分:1)
这是一种向时间戳添加秒数并对系统时间执行检查的方法:
select timestamp '2017-01-20 12:00:00.000000' as value,
timestamp '2017-01-20 12:00:00.000000' + interval '10' second as valuePlus10,
case
when timestamp '2017-01-20 12:00:00.000000' + interval '10' second > systimestamp then '> timestamp'
else '< timestamp'
end as checkVal
from dual
如果你有一些已经存储在某个数字变量中的秒数,你可以使用类似的东西:
declare
vSeconds number := 10;
vTimestamp1 timestamp(6);
vTimestamp2 timestamp(6);
begin
select vTimestamp1 + NUMTODSINTERVAL(vSeconds, 'second')
into vTimestamp2
from dual;
end;