【Oracle】DUAL表を使ったSQLで連番や連続した日付を複数行で取得

avatar

きんぽめ

はじめての方はサイトマップへどうぞ。便利な機能がたくさん。
全巻安いマンガKindleセール検索セール数集計がおすすめだよ。
姉妹サイトの「おれぽめ」でAmazonセール検索を作ったよ。
DMMブックスセール検索は「でむむーぶ」へ!


Kindle日替わりセール

【おすすめ】

Black Friday 2025 集英社 5000作品以上40%ポイント還元キャンペーン(~2025年12月01日)

【本日のおすすめ】
最終更新:2025/11/29
1冊99円以下!最安39円!北斗の拳、蒼天の拳、男塾、銀牙、カイジ、黒沢、インベスターZ、ドラゴン桜2、マネーの拳が対象!
集英社のマンガが5000作品以上40%ポイント還元!ローゼンメイデンは最安25円の巻も!

フルメタル・パニック!が実質49円!
Newtonが半額セール!『ニャートン ネコの科学』や大図鑑シリーズも対象!
コアミックスのマンガが最安40円!
「最遊記」「バーナード嬢曰く。」「お前、タヌキにならねーか?」など一迅社のマンガが半額セール!
「野原ひろし 昼メシの流儀」など双葉社のマンガが11円・33円セール!
手塚治虫先生の作品がセール中!
ULTRAMANが10巻まで11円!

【最大50%還元】Kindle本 ブラックフライデーポイント還元フェア(2025年11月24日~2025年12月01日)
Kindle本(電子書籍)ブラックフライデーまとめ買いキャンペーン(2025年11月14日~2025年12月01日)
【最大70%OFF】Kindle本 ブラックフライデーセール(2025年11月14日~2025年12月01日)
講談社ブラックフライデー(2025年11月14日~2025年12月01日)
翔泳社 Kindleブラックフライデー50%OFFセール(2025年11月14日~2025年12月01日)

Amazon Music Unlimited 最初の3か月無料で音楽聴き放題(~1/9)
Audible最初の3か月 月額99円!(~12/1)
Kindle Unlimited 3か月99円!(~12/2)

ポイント還元率が高いKindle本が多数!

セール時期は1冊11円のマンガもあります!全巻安いマンガ!

Kindle以外のAmazon商品もポイント還元率で検索!姉妹サイトおれぽめのAmazonセール検索!

Amazonでもふるさと納税!今年のふるさと納税はお済みですか?


Oracleで連番を取得したい時ってありますよね!
連続した日付を取得したい時もありますよね!

取得できるととても便利なので備忘録として残しておきます。

目次

DUAL表を使って連番を取得する

SELECT LEVEL SEQ
FROM DUAL
CONNECT BY LEVEL <= 10;

LEVELじゃなくてROWNUMでもできます。

SELECT ROWNUM SEQ
FROM DUAL
CONNECT BY ROWNUM <= 10;
SEQ
1
2
3
4
5
6
7
8
9
10

DUAL表を使って日付を複数行で取得する

SELECT A.DATE_FROM + LEVEL - 1 AS DATES
FROM(
    SELECT TO_DATE('2021/12/25', 'YYYY/MM/DD') AS DATE_FROM
         , TO_DATE('2022/01/05', 'YYYY/MM/DD') AS DATE_TO
    FROM DUAL
    ) A
CONNECT BY LEVEL <= A.DATE_TO - A.DATE_FROM + 1;

日付取得もROWNUMでもできます。

SELECT A.DATE_FROM + ROWNUM - 1 AS DATES
FROM(
    SELECT TO_DATE('2021/12/25', 'YYYY/MM/DD') AS DATE_FROM
         , TO_DATE('2022/01/05', 'YYYY/MM/DD') AS DATE_TO
    FROM DUAL
    ) A
CONNECT BY ROWNUM <= A.DATE_TO - A.DATE_FROM + 1;

SQL実行結果

DATES
2021-12-25 00:00:00
2021-12-26 00:00:00
2021-12-27 00:00:00
2021-12-28 00:00:00
2021-12-29 00:00:00
2021-12-30 00:00:00
2021-12-31 00:00:00
2022-01-01 00:00:00
2022-01-02 00:00:00
2022-01-03 00:00:00
2022-01-04 00:00:00
2022-01-05 00:00:00

例えば出勤時間・退勤時間を登録するテーブルがあったとして、そのテーブルからデータを取得すると休みの日の日付が取得できないので「休みの日付も取得できたらなぁ」ということもあると思います。

そんな時、DUAL表から取得した日付と外部結合すると日付の抜けがなくて便利!

こちらもチェックしてみてください
【Kindleセール】Oracle関連書籍
【Kindleセール】IT・システム・プログラミングの技術書

お得なセール情報は皆に教えてあげてね!
目次