获得前10秒

时间:2014-12-22 09:21:45

标签: sql oracle

我想列出前10秒的日期时间。

我试过这个

 SELECT    (SYSDATE -LEVEL + 1) each_day
    FROM DUAL
 CONNECT BY LEVEL <= 10

但我过去10天了。

是否有可能获得前10秒?

2 个答案:

答案 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