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