postgresql常用函数
- 简介
- 数学函数
- 算术运算符
- 绝对值
- 取整函数
- 乘方与开方
- 指数与对数
- 整数商和余数
- 弧度与角度
- 常量 π
- 符号函数
- 生成随机数
简介
函数(function)是一些预定义好的代码模块,可以将输入进行计算和处理,最终输出一个
结果值。PostgreSQL 函数可以分为两类:标量函数(scalar function)和聚合函数(aggregation
function)。标量函数针对每个输入都会返回相应的结果,聚合函数针对一组输入汇总出一个结
果
常见的系统函数分为以
下类别:数学函数、字符函数、日期时间函数以及类型转换函数
。除了可以使用这些系统内置的
函数之外,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 位小数;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();
相同的种子可以得到相同的随机数,用于重现结果。