postgresql常用函数
简介
函数(function )是一些预定义好的代码模块,可以将输入进行计算和处理,最终输出一个
结果值。PostgreSQL 函数可以分为两类:标量函数(scalar function )和聚合函数(aggregation
function )。标量函数针对每个输入都会返回相应的结果,聚合函数针对一组输入汇总出一个结
果
常见的系统函数分为以
下类别:数学函数、字符函数、日期时间函数以及类型转换函数
。除了可以使用这些系统内置的
函数之外,PostgreSQL 也支持创建自定义的函数(UDF)
数学函数
算术运算符
PostgreSQL 支持以下算术运算符:


绝对值
sql
-- abs(x)函数用于计算 x 的绝对值
select abs(-17.4);

取整函数
ceil(dp)/ceiling(dp)函数用于计算大于或等于 dp 的最小整数;floor(dp)函数用于计算小于或
等于 dp 的最大整数;round(dp)函数四舍五入为整数;trunc(dp)函数向零取整
sql
select ceil(-42.8), floor(-42.8), round(12.45), trunc(12.8);

另外,round(dp, 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)函数用于将角度转弧度。

常量 π
sql
select pi();

符号函数
sql
select sign(-9.7);
sign(dp)函数返回参数的正负号,可能的结果为-1、0、+1。

生成随机数
PostgreSQL 提供了用于返回一个随机数的函数 random()。
random()返回一个大于等于 0 小于 1 的随机数,类型为双精度浮点数。
sql
select random();

setseed(dp)函数可以为随后一次运行的 random()函数设置种子数,范围:-1.0 <= dp <= 1.0。
sql
select setseed(0);
select random();
相同的种子可以得到相同的随机数,用于重现结果。