見出し画像

SQL dualの使い方。

こんばんは。
ふとカレンダーを見れば今年ももう残すところあとわずか。
やり残したことを回収しつつ、この記事を書いています。

最近、業務内にてOracleまわりを触ることが多くSql文だったりを調べながらあれこれと作業しています。今日はそんな中でdualの使い方について、今まで無意識に書いていた部分を備忘録として残そうと思います。

Oracle「dual」とは

Oracleには「dual」というテーブルがあります。
これはいわばダミーのテーブルのことです。一見使いどころが思いつかないものですがあるととても便利なテーブルです。
Dual表はOracleインストール時に自動的に生成されます。
実際にはダミーと言ってもDual表はSysユーザのスキーマに存在します。テーブル自体に行・列を持っています。VARCHAR2(1)のDUMMY列を持ちX値を持つ行があります。ダミー表といっているのはダミー的に表を使うためこのような書かれ方をします。

DUALの使い方

今回は便利な使い方をいくつか紹介します。

①関数だけを使う

--日付を取得する
SELECT SYSDATE FROM DUAL ;

[結果]
20-12-18

Oracleで日付を取得する場合はSYSDATE関数を使います。ただ、From句には特にテーブルは必要ないですよね。こんな時にダミー表を用いてDUALを使用します。このような関数だけ実行したい場合に有用です。

②動作確認で使う

--四捨五入する
SELECT ROUND(10.5) FROM DUAL; 

[結果] 
11

初めて使う関数など、まずは試しで動かしてみたい…といった場合などにもDualは有用です。今回はROUND関数を例に出しています。四捨五入させる関数ですがいきなり実データに用いるのは怖い…といった場合にまずはDUALでサクッとテスト、といった形でもかなり有用な使用方法となります。

最後に

以上、DUALの使い方についてまとめてきました。
最近並行して勉強しているGCP関連のものと比べるとインフラ基盤の在り方は企業によっても、これからの業界によっても大きく左右するなと思いました。ただ何にせよ情報は金。いろいろなことを学びつつ、アウトプットして定着させていきたいと思います。ではまた。


N

私の常日頃の生活をベースに、皆さんの役に立てたり、探しているものを紹介できたらと思っています。今後もよろしくお願いします!