Oracle SQL 小数点以下がある値だけを抽出するMOD関数
Oracle SQLで小数点以下がある値だけを抽出する方法です。
実務では、小数点以下の計算ってよくありますね。その中で「小数点以下が発生している値」だけを知りたい場面があったので抽出方法を紹介します。
抽出方法には MOD関数 を利用します。
MOD関数について詳しく知りたい方は「ORACLE SQL 割り算をした値の余りを求めるMOD関数」を参考にどうぞ。利用テーブルとデータ
今回サンプルとして利用するテーブルとデータです。
CREATE TABLE NUMTABLE (
EXNUM NUMBER(12,7)
);
INSERT INTO EXNUMTBL VALUES(100);
INSERT INTO EXNUMTBL VALUES(200);
INSERT INTO EXNUMTBL VALUES(300);
INSERT INTO EXNUMTBL VALUES(123.456);
INSERT INTO EXNUMTBL VALUES(987.654);
INSERT INTO EXNUMTBL VALUES(654.321);
INSERT INTO EXNUMTBL VALUES(118.75);
使用例
使用例です。
SELECT 実数
FROM テーブル
WHERE MOD(実数,1) > 0
MOD(実数,1) にて、実数を 1 で割った剰余を求めます。その際、小数が許されますので、条件に [ > 0 ] とすることで抽出が可能になります。
サンプル
今回のサンプルソースで実行するSQLはこうなります。
SELECT EXNUM
FROM EXNUMTBL
WHERE MOD(EXNUM,1) > 0
実行すると・・・、
おおおー、小数点以下がある値だけ抽出できたー^^
まとめ
Oracle SQLで小数点以下がある値だけを抽出する方法を紹介しました。
理解してしまえば簡単ですが、なかなか思いつかないですよね。ここでしっかりと覚えてしまいましょう。
そして忘れたらまたこのサイトを訪ねてくださいね^^
おつかれさまでした。