すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:数学関数と演算子

最終更新日:Sep 29, 2024

AnalyticDB for PostgreSQLは、PostgreSQLの数学関数および演算子と互換性があります。 このトピックでは、AnalyticDB for PostgreSQLでサポートされている数学関数と演算子について説明し、数学関数と演算子の使用方法の例を示します。

PostgreSQLの数学関数と演算子の詳細については、「数学関数と演算子」をご参照ください。

数学演算子

数学演算子は、基本的な数学演算を実行するために数学およびプログラミング言語で使用される記号または関数です。 演算子は、加算、減算、乗算、除算、およびより複雑な数学演算などの数値計算を実行するために使用されます。

演算子

説明

サンプル結果

+

加算操作を実行します。

2 + 3

5

-

減算操作を実行します。

2 - 3

-1

*

乗算演算を実行します。

2*3

6

/

除算演算を実行し、切り捨てられた整数の結果を返します。

4 / 2

2

%

モジュロ演算を実行し、除算の剰余を返します。

5% 4

1

^

べき乗演算を実行する左連想演算子。

2.0 ^ 3.0

8

|/

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

|/ 25.0

5

||/

数値の立方根を返します。

| | |/ 27.0

3

!

数値の階乗を返します。

5!

120

!!

数値の階乗を返すプレフィックス演算子。

!! 5

120

@

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

@ -5.0

5

&

2つのオペランド間のビット単位のAND演算の結果を返します。

91 & 15

11

|

2つのオペランド間のビット単位のOR演算の結果を返します。

32 | 3

35

#

2つのオペランド間のビットごとのXOR演算の結果を返します。

17 # 5

20

~

オペランドに対するビット単位のNOT演算の結果を返します。

~ 1

-2

<<

左オペランドのビットを右オペランドで指定された位置の数だけ左にシフトし、空き位置をゼロで埋めます。

1 << 4

16

>>

左オペランドのビットを右オペランドで指定された位置の数だけ右にシフトし、空き位置をゼロで埋めます。

8 >> 2

2

数学関数

数学関数は、1つまたは複数の独立変数を従属変数の値にマッピングする特殊なクラスの数式です。 例えば、一次関数y = mx + bにおいて、m及びbは定数であり、xは独立変数であり、yは従属変数である。 他の一般的な関数には、指数関数、対数関数、三角関数が含まれます。

関数

戻り値のデータ型

説明

サンプル結果

abs(x)

入力値と同じ

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

abs(-17.4)

17.4

cbrt (二重精度)

二重精度

数値の立方根を返します。

cbrt(27.0)

3

ceil (二重精度または数値)

入力値と同じ

指定された数以上の最も近い整数まで丸めます。

ceil(-42.8)

-42

天井 (二重精密またはNUMERIC)

入力値と同じ

指定された数以上の最も近い整数まで丸めます。 この関数はceil関数と同じです。

天井 (-95.3)

-95

度 (ダブル精度)

二重精度

ラジアン単位の値を度に変換します。

度 (0.5)

28.6478897565412

div(y NUMERIC, x NUMERIC)

数値

yxで割った整数の商を返します。

div(9,4)

2

exp (二重精度または数値)

入力値と同じ

数値の指数値を返します。

exp(1.0)

2.71828182845905

床 (二重精密またはNUMERIC)

入力値と同じ

指定された数以下の最も近い整数まで丸めます。

フロア (-42.8)

-43

ln (二重精密または数)

入力値と同じ

数値の自然対数を返します。

ln(2.0)

0.693147180559945

ログ (二重精度または数値)

入力値と同じ

数値の常用対数 (10を底とする対数) を返します。

ログ (100.0)

2

log10 (二重精度または数値)

入力値と同じ

数値の常用対数 (10を底とする対数) を返します。 この関数はログ関数と同じです。

log10(100.0)

2

ログ (b NUMERIC,x NUMERIC)

数値

bで指定した底に対するxの対数を返します。

ログ (2.0、64.0)

6.0000000000

mod(y,x)

入力値と同じ

yxで割った余りを返します。

mod(9,4)

1

pi()

二重精度

pi (π) 定数の値を返します。

pi()

3.14159265358979

パワー (ダブル精度、bダブル精度)

二重精度

aの値をbの累乗に返します。 aおよびbは、DOUBLE PRECISIONタイプである。

パワー (9.0、3.0)

729

パワー (a NUMERIC、b NUMERIC)

数値

aの値をbの累乗に返します。 aおよびbはNUMERICタイプである。

パワー (9.0、3.0)

729

ラジアン (ダブル精度)

二重精度

度単位の値をラジアンに変換します。

radians(45.0)

0.785398163397448

ラウンド (ダブル精度または数値)

入力値と同じ

最も近い整数へのラウンド。

round(42.4)

42

ラウンド (v NUMERIC,s INT)

数値

小数点以下s位までのラウンド。

ラウンド (42.4382, 2)

42.44

スケール (NUMERIC)

INTEGER

数値の小数部分の10進数を返します。

スケール (8.41)

2

サイン (二重精度または数値)

入力値と同じ

数値の符号を返します。 この関数は、数値が負、ゼロ、および正の場合、-1、0、および + 1を返します。

sign(-8.4)

-1

sqrt (二重精密またはNUMERIC)

入力値と同じ

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

sqrt(2.0)

1.4142135623731

trunc (二重精度または数値)

入力値と同じ

ゼロに向かって切り捨てます。

trunc(42.8)

42

trunc(v NUMERIC,s INT)

数値

小数点以下s位に切り捨てます。

trunc(42.4382, 2)

42.43

width_bucket (オペランドDOUBLE PRECISION,b1 DOUBLE PRECISION,b2 DOUBLE PRECISION,count INT)

int

b1からb2までの範囲の等しい幅のバケットをカウントしたヒストグラムで、オペランドを割り当てるバケットの数を返します。 オペランド、b1、およびb2引数は、DOUBLE PRECISION型である。 この関数は、範囲外の入力値に対して0またはcount + 1の値を返します。

width_bucket(5.35、0.024、10.06、5)

3

width_bucket (オペランドNUMERIC,b1 NUMERIC,b2 NUMERIC,count INT)

INT

b1からb2までの範囲の等しい幅のバケットをカウントしたヒストグラムで、オペランドを割り当てるバケットの数を返します。 オペランド、b1、およびb2引数はNUMERIC型である。 この関数は、範囲外の入力値に対して0またはcount + 1の値を返します。

width_bucket(5.35、0.024、10.06、5)

3

width_bucket (オペランドanyelement,threshold anyarray)

INT

引数thresholdで指定したバケットの下限の配列に基づいて、オペランドを割り当てるバケットの番号を返します。 この関数は、最初の下限未満の入力値に対して0を返します。 threshold引数で指定された下限の配列は、小さい値を最初に昇順に並べ替える必要があります。 そうでなければ、予期しない結果が返される。

width_bucket(now(), array['yesterday', 'today', 'tomorrow']::timestamptz[])

2

ランダム関数

ランダム関数は、その出力値が特定の決定された値の代わりに可能な結果の1つであり得る不確定性の関数である。

関数

戻り値のデータ型

説明

random()

二重精度

0.0 (含む) から1.0 (排他的) の範囲のランダムな値を返します。

setseed(dp)

無効

random() 関数への後続の呼び出しのシードを設定します。 有効な値: -1.0 (包括的) から1.0 (包括的) 。

三角関数

三角関数は、直角三角形の角度に関連する特別なクラスの関数です。 最も一般的な三角関数は、sin (sin) 、cos (cos) 、およびタンジェント (tan) です。 これらの関数は、直角三角形の角度の大きさを計算し、より複雑な幾何学的問題を解くために使用できます。

関数 (ラジアン)

関数 (度)

説明

acos(x)

acosd(x)

xの逆余弦を返します。

asin(x)

asind(x)

xのアークサインを返します。

atan(x)

atand(x)

xのアークタンジェントを返します。

atan2(y,x)

atan2d(y,x)

y/xのアークタンジェントを返します。

cos(x)

cosd(x)

xのコサインを返します。

ベビーベッド (x)

cotd(x)

xのコタンジェントを返します。

sin(x)

sind(x)

xの正弦を返します。

tan(x)

tand(x)

xのタンジェントを返します。

双曲線関数

双曲線関数は、双曲線に関連する関数の特別なクラスです。 最も一般的な双曲線関数は、双曲線正弦 (sinh) 、双曲線余弦 (cosh) 、および双曲線正接 (tanh) です。 これらの関数は、微分方程式などの複雑な数学的問題を解くために使用できます。

関数

説明

サンプル結果

sinh(x)

xの双曲正弦を返します。

sinh (0)

0

cosh(x)

xの双曲線余弦を返します。

cosh (0)

1

tanh(x)

xの双曲正接を返します。

tanh (0)

0

asinh(x)

xの逆双曲正弦を返します。

asinh (0)

0

acosh(x)

xの逆双曲線余弦を返します。

acosh (1)

0

atanh(x)

xの逆双曲正接を返します。

atanh (0)

0