LoginSignup
3
5

More than 5 years have passed since last update.

ダミーテーブルについて

Last updated at Posted at 2017-12-14

ダミーテーブルについてご紹介します。

★ダミーテーブルとは★

各DBにセットアップ時から存在する、1行しかデータの存在しないテーブルのことです。

カレンダーを管理しているテーブル等を参照することなく、
SQL発行のみでシステム日付の取得や連番作成を行うことが可能です。
また、工夫次第でカレンダーテーブルを参照することなく、
現在から100年後までのカレンダーとその曜日を取得することが可能です。

☆使用方法について☆

ダミーテーブルの中身はSELECT句で作成します。

・ORACLE

SELECT '1' AS DUMMY     1 
FROM DUAL  ←ORACLEのダミーテーブル名

上記のSQLを発行すると項目名はDUMMYで中身が1のテーブルができます。

以下、出力結果

DUMMY     ←項目名
1   ←値

システム日付を取得する際は、以下のように記載することで取得することが可能です。

SELECT SYSDATE
FROM DUAL

※各DBにおけるダミーテーブルの名前はそれぞれでシステム日付等の取得方法も異なります。

★使用例★

ORACLEにおけるダミーテーブルのみを使用した2014年2月のカレンダー日付の取得方法の一例を紹介します。

SELECT TO_DATE(STARTDATE + ROWNUM -1, 'YYYY/MM/DD') AS CALENDAR

FROM

(SELECT TRUNC(TO_DATE('2014-02-01')) AS STARTDATE,

TO_NUMBER(TO_CHAR(LAST_DAY(TO_DATE('2014-02-01')), 'DD')) AS DAYS

FROM DUAL),

ALL_CATALOG

WHERE ROWNUM <= DAYS

以下、出力結果

CALENDAR

14-02-01

14-02-02

14-02-03

14-02-04

14-02-05

14-02-06

14-02-07

14-02-08

14-02-09

14-02-10

14-02-11

14-02-12

14-02-13

14-02-14

14-02-15

14-02-16

14-02-17

14-02-18

14-02-19

14-02-20

14-02-21

14-02-22

14-02-23

14-02-24

14-02-25

14-02-26

14-02-27

14-02-28

★最後に★

今回はカレンダー日付を取得することに重点を置きダミーテーブルについてご紹介しましたが、
SELECT句によりテーブルの中身は変えることが可能ですので、
工夫次第でさまざまな使用方法があります。
ですので、機会があればぜひ使用してみてください。

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5