導入
関数 ( function ) は、入力を計算して処理し、最終的に
結果値を出力できる事前定義されたコード モジュールです。PostgreSQL関数は、スカラー関数 (スカラー関数) と集計関数 (集計
関数) の 2 つのカテゴリに分類できます。スカラー関数は各入力の結果を返し、集約関数は一連の入力の結果を要約します。
一般的な
システム関数は
、数学関数、文字関数、日時関数、および型変換関数のカテゴリに分類されます
。これらの組み込み
関数の使用に加えて、PostgreSQL はカスタム関数 ( UDF )の作成もサポートしています。
数学関数
算術演算子
PostgreSQL は次の算術演算子をサポートしています。
絶対値
-- abs(x)函数用于计算 x 的绝对值
select abs(-17.4);
丸め関数
ceil(dp)/ceiling(dp)
dp
以上の最小の整数を計算する関数;floor(dp)
以下の最大の整数を計算する関数;整数に丸める関数;
ゼロに向かって丸める関数dp
round(dp)
trunc(dp)
select ceil(-42.8), floor(-42.8), round(12.45), trunc(12.8);
また、round(dp, s)
この関数は小数点以下 s 位に四捨五入し、小数点以下 s 位trunc(dp, s)
に切り捨てます s
。
平方根
power(a, b)
関数のべき乗a
を計算する;関数平方根を計算する;関数立方根を計算するb
sqrt(dp)
dp
cbrt(dp)
dp
指数関数と対数関数
exp(dp)
関数は自然定数をe
底とする指数を計算し、ln(dp)関数は自然定数を底とする対数を計算しe
、
log(dp)/log10(dp)
関数は底を対数10
として、log(b, x)
関数は次の対数を計算します。底b
は対数です。
整数の商と余り
div(y, x)
この関数はy
で割ったx
整数の商を計算し、で割ったときの余りをmod(y, x)
計算します。 y
x
ラジアンと角度
degrees(dp)
この関数はラジアンを度に変換するために使用され、radians(dp)
関数は角度をラジアンに変換するために使用されます。
定数π
select pi();
記号関数
select sign(-9.7);
sign(dp) 関数は引数の符号を返し、取り得る結果は -1、0、+1 です。
乱数を生成する
PostgreSQL には、乱数を返す関数random() が用意されています。
random() は、0 以上 1 未満の乱数を返します。型は倍精度浮動小数点数です。
select random();
setseed(dp)
この関数は、後続の Random() 関数のシード番号を設定できます (範囲: ) -1.0 <= dp <= 1.0
。
select setseed(0);
select random();
同じシードから同じ乱数が生成され、再現可能な結果が得られます。