我想列出前10秒的日期时间。
我试过这个
SELECT (SYSDATE -LEVEL + 1) each_day
FROM DUAL
CONNECT BY LEVEL <= 10
但我过去10天了。
是否有可能获得前10秒?
答案 0 :(得分:4)
是否有可能获得前10秒?
你几乎得到了它:
SELECT (SYSDATE + (1-LEVEL)/24/3600 ) each_sec
-- ^^^^^^^
-- including the 'current' sysdate
-- (as LEVEL start at 1)
FROM DUAL
CONNECT BY LEVEL <= 10
如果您愿意使用INTERVAL
数据类型,则可能更喜欢使用NUMTODSINTERVAL
,因为它更具有自我记录功能:
SELECT SYSDATE + NUMTODSINTERVAL(1-LEVEL, 'SECOND') each_sec
FROM DUAL
CONNECT BY LEVEL <= 10
答案 1 :(得分:2)
从SYSDATE
减去以天为单位,因此- 1
减去一天。要将其转换为秒,请使用:
select (sysdate - (level / 24 /*hours*/ / 3600 /*seconds*/)) each_second
from dual
connect
by level <= 10