Sql-numeric-functions

提供:Dev Guides
移動先:案内検索

SQL-数値関数

SQL数値関数は、主に数値操作や数学計算に使用されます。 次の表は、数値関数の詳細です-

Sr.No. Function & Description
1

ABS()

数値式の絶対値を返します。

2

ACOS()

数値式のアークコサインを返します。 値が-1〜1の範囲にない場合は、NULLを返します。

3

ASIN()

数値式のアークサインを返します。 値が-1〜1の範囲にない場合はNULLを返します

4

ATAN()

数値式のアークタンジェントを返します。

5

ATAN2()

渡された2つの変数のアークタンジェントを返します。

6

BIT_AND()

expressionのビット単位ANDすべてのビットを返します。

7

BIT_COUNT()

渡されたバイナリ値の文字列表現を返します。

8

BIT_OR()

渡された式のすべてのビットのビット単位のORを返します。

9

CEIL()

渡された数値式以上の最小の整数値を返します

10

CEILING()

渡された数値式以上の最小の整数値を返します

11

CONV()

数値式をあるベースから別のベースに変換します。

12

COS()

渡された数値式の余弦を返します。 数値式はラジアンで表現する必要があります。

13

COT()

渡された数値式の余接を返します。

14

DEGREES()

ラジアンから度に変換された数値式を返します。

15

EXP()

渡された数値式で累乗された自然対数の底(e)を返します。

16

FLOOR()

渡された数値式よりも大きくない最大の整数値を返します。

17

FORMAT()

小数点以下の桁数に丸められた数値式を返します。

18

GREATEST()

入力式の最大値を返します。

19

INTERVAL()

exp1、exp2、exp3などの複数の式を取ります。 exp1がexp2より小さい場合は0を返し、exp1がexp3より小さい場合は1を返します。

20

LEAST()

2つ以上指定された場合、最小値の入力を返します。

21

LOG()

渡された数値式の自然対数を返します。

22

LOG10()

渡された数値式の10を底とする対数を返します。

23

MOD()

別の式でダイビングして、ある式の残りを返します。

24

OCT()

渡された数値式の8進数値の文字列表現を返します。 渡された値がNULLの場合、NULLを返します。

25

PI()

piの値を返します

26

POW()

ある式の値を別の式の累乗で返します

27

POWER()

ある式の値を別の式の累乗で返します

28

RADIANS()

渡された式の値を度からラジアンに変換して返します。

29

ROUND()

整数に丸められた数値式を返します。 式をいくつかの小数点に丸めるために使用できます

30

SIN()

ラジアンで指定された数値式のサインを返します。

31

SQRT()

数値式の非負の平方根を返します。

32

STD()

数値式の標準偏差を返します。

33

STDDEV()

数値式の標準偏差を返します。

34

TAN()

ラジアンで表された数値式のタンジェントを返します。

35

TRUNCATE()

小数点以下2桁まで切り捨てられた数値exp1を返します。 exp2が0の場合、結果には小数点がありません。

[function_abs]#

ABS(X)

ABS()関数は、Xの絶対値を返します。 次の例を考慮してください-

SQL> SELECT ABS(2);
+---------------------------------------------------------+
| ABS(2)                                                  |
+---------------------------------------------------------+
| 2                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

SQL> SELECT ABS(-2);
+---------------------------------------------------------+
| ABS(2)                                                  |
+---------------------------------------------------------+
| 2                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_acos]#

ACOS(X)

この関数は、Xのアークコサインを返します。 Xの値は-1から1の範囲でなければならず、そうでない場合はNULLが返されます。 次の例を考慮してください-

SQL> SELECT ACOS(1);
+---------------------------------------------------------+
| ACOS(1)                                                 |
+---------------------------------------------------------+
| 0.000000                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_asin]#

ASIN(X)

ASIN()関数は、Xのアークサインを返します。 Xの値は-1から1の範囲でなければならず、そうでない場合はNULLが返されます。

SQL> SELECT ASIN(1);
+---------------------------------------------------------+
| ASIN(1)                                                 |
+---------------------------------------------------------+
| 1.5707963267949                                         |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_atan]#

アタン(X)

この関数は、Xのアークタンジェントを返します。

SQL> SELECT ATAN(1);
+---------------------------------------------------------+
| ATAN(1)                                                 |
+---------------------------------------------------------+
| 0.78539816339745                                        |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_atan2]#

ATAN2(Y、X)

この関数は、2つの引数XとYのアークタンジェントを返します。 結果の象限を見つけるために両方の符号が使用されることを除いて、Y/Xのアークタンジェントに似ています。

SQL> SELECT ATAN2(3,6);
+---------------------------------------------------------+
| ATAN2(3,6)                                              |
+---------------------------------------------------------+
| 0.46364760900081                                        |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_bit_and]#

BIT_AND(式)

BIT_AND関数は、expressionのすべてのビットのビット単位のANDを返します。 基本的な前提は、2つの対応するビットが同じ場合、ビット単位のAND演算は1を返し、それらが異なる場合、ビット単位のAND演算は0を返すということです。 関数自体は64ビット整数値を返します。 一致するものがない場合、18446744073709551615を返します。 次の例は、車のメーカーによってグループ化されたPRICE列でBIT_AND関数を実行します-

SQL> SELECT
          MAKER, BIT_AND(PRICE) BITS
          FROM CARS GROUP BY MAKER
+---------------------------------------------------------+
|MAKER           BITS                                     |
+---------------------------------------------------------+
|CHRYSLER        512                                      |
|FORD            12488                                    |
|HONDA           2144                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_bit_count]#

BIT_COUNT(数値)

BIT_COUNT()関数は、numeric_valueでアクティブなビット数を返します。 次の例は、BIT_COUNT()関数を使用して、ある範囲の数値に対してアクティブなビットの数を返す方法を示しています-

SQL> SELECT
          BIT_COUNT(2) AS TWO,
          BIT_COUNT(4) AS FOUR,
          BIT_COUNT(7) AS SEVEN
+-----+------+-------+
| TWO | FOUR | SEVEN |
+-----+------+-------+
|   1 |    1 |     3 |
+-----+------+-------+
1 row in set (0.00 sec)

[function_bit_or]#

BIT_OR(式)

BIT_OR()関数は、expressionのすべてのビットのビットごとのORを返します。 ビット単位のOR関数の基本的な前提は、対応するビットが一致する場合は0を返し、一致しない場合は1を返すことです。 この関数は64ビット整数を返し、一致する行がない場合は0を返します。 次の例は、MAKERでグループ化されたCARSテーブルのPRICE列でBIT_OR()関数を実行します-

SQL> SELECT
          MAKER, BIT_OR(PRICE) BITS
          FROM CARS GROUP BY MAKER
+---------------------------------------------------------+
|MAKER           BITS                                     |
+---------------------------------------------------------+
|CHRYSLER        62293                                    |
|FORD            16127                                    |
|HONDA           32766                                    |
+---------------------------------------------------------+
1 row in set (0.00 sec)
  1. [#function_ceiling]"/></emphasis>#[function_ceiling]#

セイル(X)

天井(X)

これらの関数は、Xより小さくない最小の整数値を返します。 次の例を考慮してください-

SQL> SELECT CEILING(3.46);
+---------------------------------------------------------+
| CEILING(3.46)                                           |
+---------------------------------------------------------+
| 4                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

SQL> SELECT CEIL(-6.43);
+---------------------------------------------------------+
| CEIL(-6.43)                                             |
+---------------------------------------------------------+
| -6                                                      |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_conv]#

CONV(N、from_base、to_base)

CONV()関数の目的は、異なる数値ベース間で数値を変換することです。 この関数は、from_baseからto_baseに変換された値Nの文字列を返します。 最小基本値は2で、最大値は36です。 引数のいずれかがNULLの場合、関数はNULLを返します。 次の例を考えてみましょう。これは、数値5を基数16から基数2に変換します-

SQL> SELECT CONV(5,16,2);
+---------------------------------------------------------+
| CONV(5,16,2)                                            |
+---------------------------------------------------------+
| 101                                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_cos]#

COS(X)

この関数は、Xのコサインを返します。 Xの値はラジアンで与えられます。

SQL>SELECT COS(90);
+---------------------------------------------------------+
| COS(90)                                                 |
+---------------------------------------------------------+
| -0.44807361612917                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_cot]#

COT(X)

この関数は、Xの余接を返します。 次の例を考慮してください-

SQL>SELECT COT(1);
+---------------------------------------------------------+
| COT(1)                                                  |
+---------------------------------------------------------+
| 0.64209261593433                                        |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_degrees]#

DEGREES(X)

この関数は、ラジアンから度に変換されたXの値を返します。

SQL>SELECT DEGREES(PI());
+---------------------------------------------------------+
| DEGREES(PI())                                           |
+---------------------------------------------------------+
| 180.000000                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_exp]#

EXP(X)

この関数は、eの値(自然対数の底)のX乗を返します。

SQL>SELECT EXP(3);
+---------------------------------------------------------+
| EXP(3)                                                  |
+---------------------------------------------------------+
| 20.085537                                               |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_floor]#

フロア(X)

この関数は、X以下の最大の整数値を返します。

SQL>SELECT FLOOR(7.55);
+---------------------------------------------------------+
| FLOOR(7.55)                                             |
+---------------------------------------------------------+
| 7                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_format]#

FORMAT(X、D)

FORMAT()関数は、次の形式で数値Xをフォーマットするために使用されます:'、'#。小数点以下Dに切り捨てられます。 次の例は、FORMAT()関数の使用と出力を示しています-

SQL>SELECT FORMAT(423423234.65434453,2);
+---------------------------------------------------------+
| FORMAT(423423234.65434453,2)                            |
+---------------------------------------------------------+
| 423,423,234.65                                          |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_greatest]#

GREATEST(n1、n2、n3、…​…​…​.)

GREATEST()関数は、一連の入力パラメーター(n1、n2、n3など)の最大値を返します。 次の例では、GREATEST()関数を使用して、数値のセットから最大数を返します-

SQL>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)

[function_interval]#

区間(N、N1、N2、N3、…​…​…​.)

INTERVAL()関数は、Nの値を値リスト(N1、N2、N3など)と比較します。 この関数は、N <N1の場合は0、N <N2の場合は1、N <N3の場合は2などを返します。 NがNULLの場合、.1を返します。 値リストは、正しく機能するためにN1 <N2 <N3の形式である必要があります。 次のコードは、INTERVAL()関数の仕組みの簡単な例です-

SQL>SELECT INTERVAL(6,1,2,3,4,5,6,7,8,9,10);
+---------------------------------------------------------+
| INTERVAL(6,1,2,3,4,5,6,7,8,9,10)                        |
+---------------------------------------------------------+
| 6                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_interval]#

区間(N、N1、N2、N3、…​…​…​.)

INTERVAL()関数は、Nの値を値リスト(N1、N2、N3など)と比較します。 この関数は、N <N1の場合は0、N <N2の場合は1、N <N3の場合は2などを返します。 NがNULLの場合、.1を返します。 値リストは、正しく機能するためにN1 <N2 <N3の形式である必要があります。 次のコードは、INTERVAL()関数の仕組みの簡単な例です-

SQL>SELECT INTERVAL(6,1,2,3,4,5,6,7,8,9,10);
+---------------------------------------------------------+
| INTERVAL(6,1,2,3,4,5,6,7,8,9,10)                        |
+---------------------------------------------------------+
| 6                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

6は、Nより大きい最初の値の値リスト内のゼロベースのインデックスであることに注意してください。 この例では、7が問題の値であり、6番目のインデックススロットにあります。

[function_least]#

最小(N1、N2、N3、N4、…​…​)

LEAST()関数は、GREATEST()関数の反対です。 その目的は、値リスト(N1、N2、N3など)から最小値のアイテムを返すことです。 次の例は、LEAST()関数の適切な使用法と出力を示しています-

SQL>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)

[function_log]#

LOG(X)

LOG(B、X)

関数の単一引数バージョンは、Xの自然対数を返します。 2つの引数で呼び出された場合、任意の底BのXの対数を返します。 次の例を考慮してください-

SQL>SELECT LOG(45);
+---------------------------------------------------------+
| LOG(45)                                                 |
+---------------------------------------------------------+
| 3.806662                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)

SQL>SELECT LOG(2,65536);
+---------------------------------------------------------+
| LOG(2,65536)                                            |
+---------------------------------------------------------+
| 16.000000                                               |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_log10]#

LOG10(X)

この関数は、Xの10を底とする対数を返します。

SQL>SELECT LOG10(100);
+---------------------------------------------------------+
| LOG10(100)                                              |
+---------------------------------------------------------+
| 2.000000                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_mod]#

MOD(N、M)

この関数は、NをMで割った余りを返します。 次の例を考慮してください-

SQL>SELECT MOD(29,3);
+---------------------------------------------------------+
| MOD(29,3)                                               |
+---------------------------------------------------------+
| 2                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_oct]#

OCT(N)

OCT()関数は、8進数Nの文字列表現を返します。 これは、CONV(N、10,8)を使用するのと同等です。

SQL>SELECT OCT(12);
+---------------------------------------------------------+
| OCT(12)                                                 |
+---------------------------------------------------------+
| 14                                                      |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_pi]#

PI()

この関数は、単にpiの値を返します。 SQLは、piの完全な倍精度値を内部的に保存します。

SQL>SELECT PI();
+---------------------------------------------------------+
| PI()                                                    |
+---------------------------------------------------------+
| 3.141593                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)
  1. [#function_power]"/></emphasis>#[function_power]#

POW(X、Y)

パワー(X、Y)

これらの2つの関数は、XをY乗した値を返します。

SQL> SELECT POWER(3,3);
+---------------------------------------------------------+
| POWER(3,3)                                              |
+---------------------------------------------------------+
| 27                                                      |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_radians]#

ラジアン(X)

この関数は、度からラジアンに変換されたXの値を返します。

SQL>SELECT RADIANS(90);
+---------------------------------------------------------+
| RADIANS(90)                                             |
+---------------------------------------------------------+
|1.570796                                                 |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_round]#

ラウンド(X)

ROUND(X、D)

この関数は、最も近い整数に丸められたXを返します。 2番目の引数Dが指定されている場合、関数はXを小数点以下D桁に丸めて返します。 Dは正でなければなりません。そうでない場合、小数点の右側のすべての数字が削除されます。 次の例を考慮してください-

SQL>SELECT ROUND(5.693893);
+---------------------------------------------------------+
| ROUND(5.693893)                                         |
+---------------------------------------------------------+
| 6                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

SQL>SELECT ROUND(5.693893,2);
+---------------------------------------------------------+
| ROUND(5.693893,2)                                       |
+---------------------------------------------------------+
| 5.69                                                    |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_sign]#

SIGN(X)

この関数は、Xの符号(負、ゼロ、または正)を-1、0、または1として返します。

SQL>SELECT SIGN(-4.65);
+---------------------------------------------------------+
| SIGN(-4.65)                                             |
+---------------------------------------------------------+
| -1                                                      |
+---------------------------------------------------------+
1 row in set (0.00 sec)

SQL>SELECT SIGN(0);
+---------------------------------------------------------+
| SIGN(0)                                                 |
+---------------------------------------------------------+
| 0                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

SQL>SELECT SIGN(4.65);
+---------------------------------------------------------+
| SIGN(4.65)                                              |
+---------------------------------------------------------+
| 1                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_sin]#

罪(X)

この関数は、Xのサインを返します。 次の例を考慮してください-

SQL>SELECT SIN(90);
+---------------------------------------------------------+
| SIN(90)                                                 |
+---------------------------------------------------------+
| 0.893997                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_sqrt]#

SQRT(X)

この関数は、Xの非負の平方根を返します。 次の例を考慮してください-

SQL>SELECT SQRT(49);
+---------------------------------------------------------+
| SQRT(49)                                                |
+---------------------------------------------------------+
| 7                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)
  1. [#function_stddev]"/></emphasis>#[function_stddev]#

STD(式)

STDDEV(式)

STD()関数は、式の標準偏差を返すために使用されます。 これは、式のVARIANCE()の平方根を取ることに相当します。 次の例では、CARSテーブルのPRICE列の標準偏差を計算します-

SQL>SELECT STD(PRICE) STD_DEVIATION FROM CARS;
+---------------------------------------------------------+
| STD_DEVIATION                                           |
+---------------------------------------------------------+
| 7650.2146                                               |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_tan]#

TAN(X)

この関数は、ラジアンで表される引数Xのタンジェントを返します。

SQL>SELECT TAN(45);
+---------------------------------------------------------+
| TAN(45)                                                 |
+---------------------------------------------------------+
| 1.619775                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)

[function_truncate]#

TRUNCATE(X、D)

この関数は、小数点以下D桁に切り捨てられたXの値を返すために使用されます。 Dが0の場合、小数点は削除されます。 Dが負の場合、値の整数部分のD個の値が切り捨てられます。 次の例を考慮してください-

SQL>SELECT TRUNCATE(7.536432,2);
+---------------------------------------------------------+
| TRUNCATE(7.536432,2)                                    |
+---------------------------------------------------------+
| 7.53                                                    |
+---------------------------------------------------------+
1 row in set (0.00 sec)