显示当天24小时的每一天

时间:2009-11-07 05:36:49

标签: sql oracle

我试图用24小时格式显示小时数,如:

  

选择   来自双重的to_char(trunc(sysdate +(1/24)),'HH24:mi')

但这只会一直返回00:00。我怎样才能显示01:00到23:00?

谢谢和问候

2 个答案:

答案 0 :(得分:2)

这适用于Oracle 9i +:

SELECT TO_CHAR(TRUNC(SYSDATE) + (LEVEL / 24)), 'HH24:mi') 
  FROM DUAL
CONNECT BY LEVEL <= 24

答案 1 :(得分:1)

如果您想显示小时数,则需要您的日期实际包含小时数。 这意味着 - 让你的方括号为TRUNC()吧。

这很好。

SELECT TO_CHAR(TRUNC(SYSDATE) + (LEVEL / 24), 'HH24:mi') 
  FROM DUAL
CONNECT BY LEVEL <= 24

这不好。

SELECT TO_CHAR(TRUNC(SYSDATE + (LEVEL / 24)), 'HH24:mi') 
  FROM DUAL
CONNECT BY LEVEL <= 24