0

毎分のプレゼンテーションでテーブルを作成する必要があります。3つのフィールドになります

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 クエリで実装するにはどうすればよいですか?

ありがとう。

4

2 に答える 2

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 の数字を生成することです。あとは、これらを好きなようにフォーマットするだけです。

于 2012-07-16T14:43:11.497 に答える
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

ここにフィドルがあります

于 2012-07-16T14:47:33.880 に答える