SQLServerで実際に存在するテーブルからではなく架空(ダミー)のテーブルに対してSELECTを発行することができます。
このようなSQLは現在時刻を取得するときなどに便利な方法です。
SQLServerでダミーテーブルを使う
データベースサーバから現在時刻などを取得する場合など特定のテーブルからデータを検索することでは取得できない場合、Oracleではダミーテーブルからデータを取得します。
OracleではDUAL表を使用する
Oracleでは現在日付けなどを取得する際はダミーテーブルは「DUAL」を使用します。
SELECT SYSDATE FROM DUAL
SQLServerにはDUAL表がありません
残念ながらSQLserverにはOracleにある「DUAL」表がありません。
このような場合はSQLServerではFROM句を省略します。
SELECT GETDATE()
ずっとOracleを使っていて始めてSQLServerに移った時は「なぜDUALがないの?」と戸惑いました。
しかも「SELECT」の構文として「FROM句」が無いというのはちょっと違和感がありましたが、慣れればこの方が楽かも知れませんね。
以上、SQLServerでダミーテーブルを使ってみるでした。