小时:Oracle中的分钟演示

时间:2012-07-16 14:14:10

标签: sql oracle

我必须用每分钟的时间表示创建表格。 将有三个字段

TIME_DESC值:00:00,00:01,...,12:32,12:33,...,23:58,23:59(根据小时和分钟) 小时值:00-23(根据小时数) 分钟值:00-59(根据会议纪要)

因此,单个记录看起来像|| 01:05 || 01 || 05 ||或|| 22:25 || 22 || 25 ||

如何在单个Oracle查询中实现此表创建?

感谢。

2 个答案:

答案 0 :(得分:2)

你可以这样做:

select to_char(hr, '00')||':'||to_char(mi, '00') as time_desc,
       to_char(hr, '00') as hours, to_char(mi, '00') as minutes
from (select level-1 from dual connect by level <= 24) as hr cross join
     (select level-1 from dual connect by level <= 60) as mi

这里的技巧是生成0到23和0到59之间的数字。其余的只是按照你想要的方式格式化这些数字。

答案 1 :(得分:1)

您可以尝试:

WITH t AS (
  SELECT to_date('0001-01-01', 'yyyy-mm-dd') + interval '1' MINUTE * (LEVEL-1) datetime
  FROM dual
CONNECT BY LEVEL <= 1440
)
SELECT to_char(t.datetime, 'hh24:mi') time,
       to_char(t.datetime, 'hh24') hh,
       to_char(t.datetime, 'mi') mi
FROM t

Here是一个小提琴