【ORACLE】算術関数
ここではORACELデータベースの算術関数についてまとめて紹介しています。
ABS関数
ABS関数を使うことで、指定した値の絶対値を求めることが出来ます。
ABS(値)
実行結果は次のようになります。
SELECT col1,ABS(col1) FROM tab1;
col1 ABS(col1)
----------------
0 0
12345 12345
-123 123
CEIL関数
CEIL関数を使うことで、指定した値以上で最も小さい整数を求めることが出来ます。
CEIL(値)
実行結果は次のようになります。
SELECT col1,CEIL(col1) FROM tab1;
col1 CEIL(col1)
---------------
0.5 1
1.5 2
-2.5 -2
FLOOR関数
FLOOR関数を使うことで、指定した値以下で最も大きい整数を求めることが出来ます。
FLOOR(数値)
実行結果は次のようになります。
SELECT col1,FLOOR(col1) FROM tab1;
col1 FLOOR(col1)
-------------------
1.2345 1
-1.234 -2
GREATEST関数
GREATEST関数を使うことで、指定した引数の中で最も大きな値を求めることが出来ます。
GREATEST(値1,値2[,値3...])
実行結果は次のようになります。
SELECT col1,col2,GREATEST(col1,col2) FROM tab1;
col1 col2 GREATEST(col1,col2)
-----------------------------
1 2 2
4 3 4
5 null null
SELECT col1,col2,col3,GREATEST(col1,col2,col3) FROM tab1;
col1 col2 col3 GREATEST(col1,col2,col3)
---------------------------------------
1 2 3 3
4 6 5 6
5 null 7 null
LEAST関数
LEAST関数を使うことで、指定した引数の中で最も小さな値を求めることが出来ます。
LEASTT(値1,値2[,値3...])
実行結果は次のようになります。
SELECT col1,col2,LEAST(col1,col2) FROM tab1;
col1 col2 LEAST(col1,col2)
--------------------------
1 2 1
4 3 3
5 null null
SELECT col1,col2,col3,LEAST(col1,col2,col3) FROM tab1;
col1 col2 col3 LEAST(col1,col2,col3)
------------------------------------
1 2 3 1
5 6 4 4
5 null 7 null
MOD関数
MOD関数を使うことで、指定した値の剰余(割り算した余り)を求めることが出来ます。
値1を値2で割った余り(剰余)を求めます。
MOD(値1,値2)
実行結果は次のようになります。
SELECT col1,col2,ROUND(col1,col2) FROM tab1;
col1 col2 ROUND(col1,col2)
---------------------------
10 10 0
10 9 1
10 8 2
ROUND関数
ROUND関数を使うことで、指定した値を四捨五入した値を求めることが出来ます。
ROUND(数値[,桁数])
実行結果は次のようになります。
SELECT col1,ROUND(col1) FROM tab1;
col1 ROUND(col1)
-------------------
1.2345 1
SELECT col1,ROUND(col1,2) FROM tab1;
col1 ROUND(col1,2)
----------------------
1.238 1.24
SIGN関数
SIGN関数を使うことで、指定した値の符号を求めることが出来ます。
SIGN(値)
実行結果は次のようになります。
SELECT col1,SIGN(col1) FROM tab1;
col1 SIGN(col1)
-----------------
0 0
12345 1
-123 -1
TRUNC関数
TRUNC関数を使うことで、指定した値の小数点以下を切り捨てた値を求めることが出来ます。
小数点以下で切り捨てる桁数を指定することが出来ます。
指定しない場合は小数点以下を切り捨てます。
TUNC(数値[,桁数])
実行結果は次のようになります。
SELECT col1,TRUNC(col1) FROM tab1;
col1 TRUNC(col1)
-------------------
1.2345 1
0.52 0
SELECT col1,TRUNC(col1,1) FROM tab1;
col1 TRUNC(col1)
-------------------
1.2345 1.2
0.52 0.5