blog

PostgreSQL数値関数

数値関数は主に数値操作や数学的計算に使用されます。...

Nov 19, 2015 · 22 min. read
シェア

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) 

Read next

ファーウェイ・ストレージ:ハイエンド・コンバージェンスに向けて

ファーウェイのストレージは新参者ではありません。技術的な埋蔵量とチャネルの利点の数年後、2年間の華為力エンタープライズBGと相まって、エンタープライズ市場に焦点を当て、ストレージ、この製品ラインはまた、より多くの注目を集めており、より大きな成果を達成しています。昨年から、ファーウェイのストレージは、2つの新しい世界記録を設定します。

Nov 19, 2015 · 4 min read