PostgreSQLの数値関数は主に数値操作や数学計算に使用されます。以下の表に数値関数の詳細を示します:
ABS(X)
ABS()関数はXの絶対値を返します。
testdb=# SELECT ABS(2);
+---------------------------------------------------------+
| ABS(2) |
+---------------------------------------------------------+
| 2 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
testdb=# SELECT ABS(-2);
+---------------------------------------------------------+
| ABS(2) |
+---------------------------------------------------------+
| 2 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
ACOS(X)
この関数は X のアークコサインを返します。 X の値は .1 から 1 の間でなければなりません。X の値は .1 から 1 の範囲でなければなりません。
testdb=# SELECT ACOS(1);
+---------------------------------------------------------+
| ACOS(1) |
+---------------------------------------------------------+
| 0.000000 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
ASIN(X)
ASIN() 関数は X のアークサインを返します。X の値は .1 から 1 の範囲でなければなりません。
testdb=# SELECT ASIN(1);
+---------------------------------------------------------+
| ASIN(1) |
+---------------------------------------------------------+
| 1.5707963267949 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
エータン
this "関数はXのアークタンジェントを返します。
testdb=# SELECT ATAN(1);
+---------------------------------------------------------+
| ATAN(1) |
+---------------------------------------------------------+
| 0.78539816339745 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
#p#
ATAN2(Y,X)
this "関数は2つの引数:XとYのアークタンジェントを返します。これはY/Xのアークタンジェントに似ていますが、結果の象限を求めるために両方の符号が使われる点が異なります。Y/Xのアークタンジェントと似ていますが、両者の符号が結果の象限を求めるのに使われる点が異なります。
testdb=# SELECT ATAN2(3,6);
+---------------------------------------------------------+
| ATAN2(3,6) |
+---------------------------------------------------------+
| 0.46364760900081 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
セイル(X)
天井(X)
これらの関数は、Xより小さくない最小の整数値を返します:
testdb=# SELECT CEILING(3.46);
+---------------------------------------------------------+
| CEILING(3.46) |
+---------------------------------------------------------+
| 4 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
testdb=# SELECT CEIL(-6.43);
+---------------------------------------------------------+
| CEIL(-6.43) |
+---------------------------------------------------------+
| -6 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
COS(X)
this" 関数は X の余弦を返します。
testdb=#SELECT COS(90);
+---------------------------------------------------------+
| COS(90) |
+---------------------------------------------------------+
| -0.44807361612917 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
COT(X)
this "関数はXのコタンジェントを返します:
testdb=#SELECT COT(1);
+---------------------------------------------------------+
| COT(1) |
+---------------------------------------------------------+
| 0.64209261593433 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
デグリーズ(X)
this」関数は、Xの値をラジアンから度数に変換して返します。
testdb=#SELECT DEGREES(PI());
+---------------------------------------------------------+
| DEGREES(PI()) |
+---------------------------------------------------------+
| 180.000000 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
エックスピーエックス
this」関数は、eをXのべき乗にした値を返します。
testdb=#SELECT EXP(3);
+---------------------------------------------------------+
| EXP(3) |
+---------------------------------------------------------+
| 20.085537 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
フロア(X)
this」関数は、Xより大きくない最大の整数値を返します。
testdb=#SELECT FLOOR(7.55);
+---------------------------------------------------------+
| FLOOR(7.55) |
+---------------------------------------------------------+
| 7 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
GREATEST(n1,n2,n3,......)
GREATEST() 関数は、入力パラメータ・セットの中で最大の値を返します。 以下の例では、GREATEST() 関数を使用して、一連の数値から最大の数値を返します:
testdb=#SELECT GREATEST(3,5,1,8,33,99,34,55,67,43);
+---------------------------------------------------------+
| GREATEST(3,5,1,8,33,99,34,55,67,43) |
+---------------------------------------------------------+
| 99 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
最小(n1,n2,n3,n4,......)
LEAST()関数は、GREATEST()関数の逆です。 この関数の目的は、値リストから最も値の小さい項目を返すことです。 以下の例は、LEAST() 関数の適切な使用法と出力を示しています:
testdb=#SELECT LEAST(3,5,1,8,33,99,34,55,67,43);
+---------------------------------------------------------+
| LEAST(3,5,1,8,33,99,34,55,67,43) |
+---------------------------------------------------------+
| 1 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
ログ(X)
LOG(B,X)
引数1つの関数はXの自然対数を返します。引数2つで呼び出された場合は、任意の底Bに対するXの対数を返します。次の例を考えてみましょう:
testdb=#SELECT LOG(45);
+---------------------------------------------------------+
| LOG(45) |
+---------------------------------------------------------+
| 1.65321251377534 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
testdb=#SELECT LOG(2,65536);
+---------------------------------------------------------+
| LOG(2,65536) |
+---------------------------------------------------------+
| 16.000000 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
MOD(N,M)
this」関数は、NをMで割った余りを返します:
testdb=#SELECT MOD(29,3);
+---------------------------------------------------------+
| MOD(29,3) |
+---------------------------------------------------------+
| 2 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
ピーアイ()
this "関数は単に円周率の値を返します。SQLは内部的に円周率の完全な倍精度値を保存します。
testdb=#SELECT PI();
+---------------------------------------------------------+
| PI() |
+---------------------------------------------------------+
| 3.141593 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
POW(X,Y)
パワー
これら2つの関数は、XをYのべき乗にした値を返します。
testdb=# SELECT POWER(3,3);
+---------------------------------------------------------+
| POWER(3,3) |
+---------------------------------------------------------+
| 27 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
ラディアンス(X)
this」関数は、Xの値を度からラジアンに変換して返します。
testdb=#SELECT RADIANS(90);
+---------------------------------------------------------+
| RADIANS(90) |
+---------------------------------------------------------+
|1.570796 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
ラウンド(X)
ROUND(X,D)
this "関数は、小数点以下を四捨五入したXを返します。 2番目の引数Dが与えられると、関数はXを返します。もし2番目の引数Dが与えられると、関数はXを小数点以下D桁に丸めたものを返します。 Dは正数でなければなりません。 次の例を考えてみましょう:
testdb=#SELECT ROUND(5.693893);
+---------------------------------------------------------+
| ROUND(5.693893) |
+---------------------------------------------------------+
| 6 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
testdb=#SELECT ROUND(5.693893,2);
+---------------------------------------------------------+
| ROUND(5.693893,2) |
+---------------------------------------------------------+
| 5.69 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
サイン(X)
this" 関数は X の符号を .1、0、または 1 で返します。
testdb=#SELECT SIGN(-4.65);
+---------------------------------------------------------+
| SIGN(-4.65) |
+---------------------------------------------------------+
| -1 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
testdb=#SELECT SIGN(0);
+---------------------------------------------------------+
| SIGN(0) |
+---------------------------------------------------------+
| 0 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
testdb=#SELECT SIGN(4.65);
+---------------------------------------------------------+
| SIGN(4.65) |
+---------------------------------------------------------+
| 1 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
サインエックス
this "関数はXの正弦を返します:
testdb=#SELECT SIN(90);
+---------------------------------------------------------+
| SIN(90) |
+---------------------------------------------------------+
| 0.893997 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
スクエアトップ(X)
this」関数はXの非負平方根を返します:
testdb=#SELECT SQRT(49);
+---------------------------------------------------------+
| SQRT(49) |
+---------------------------------------------------------+
| 7 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
たん(X)
this "関数は、引数Xの正接をラジアン単位で返します。
testdb=#SELECT TAN(45);
+---------------------------------------------------------+
| TAN(45) |
+---------------------------------------------------------+
| 1.619775 |
+---------------------------------------------------------+
1 row in set (0.00 sec)




