PostgreSql 数学函数及操作符

一、 操作符表

操作符 描述 示例 结果
+ 4+7 11
- 4-7 -3
* 4*7 11
/ 除(整数除法将截断结果) 7/3 2
% 模(求余) 6%4 2
^ 幂(指数运算) 3^3 27
|/ 平方根 |/36 6
||/ 立方根 ||/8 2
! 阶乘 5! 120
!! 阶乘(前缀操作符) !!5 120
@ 绝对值 @-5.0 5
& 二进制AND 31&15 15
| 二进制OR 31|15 31
# 二进制XOR 31#15 16
~ 二进制NOT ~1 -2
<< 二进制左移 1<<8 256
>> 二进制右移 16>>3 2

二、函数表

“dp” 表示double precision。

操作符 描述 示例 结果
abs(x) 绝对值 abs(-23.7) 23.7
cbrt(dp) 立方根 cbrt(8) 2
ceil/ceiling(dp或numeric) 不小于参数的最小整数 ceil(-38.1) ceil(38.1) ceiling(38.1) -38 39 39
degrees(dp) 把弧度转为角度 degrees(1) 57.29577951308232
exp(dp或numeric) 自然指数 exp(1) 2.7182818284590452
floor(dp或numeric) 不大于参数的最大整数 floor(-42.8) floor(-42.8) -43 42
ln(dp或numeric) 自然对数 ln(2.7182818284590452) 1.0000000000000000
log(dp或numeric) 以10为底的对数 log(1000) 3
log(b numeric,x numeric) 以b为底的对数 log(2,32) 5.0000000000000000
mod(y,x) y/x的余数(模) mod(7,3) 1
pi() π常量 pi() 3.141592653589793
power(a dp或numeric,b dp或numeric) a的b次幂 power(2,3) 8
radians(dp) 把角度转成弧度 radians(45) 0.7853981633974483
random() 0到1之间的随机数 random() 随机返回一个小数
round(dp或numeric) 圆整为最接近的整数(四舍五入) round(36.5) 37
round(v numeric,s int) 圆整为s位小数(四舍五入) round(36.5252,2) 36.53
setseed(dp) 为随后的random()调用设置种子(0到1之间) setseed(0.123) 每次种子后,重现相同随机数
sign(dp或numeric) 参数的符号(-1,0,+1) sign(-8.4) -1
sprt(dp或numeric) 平方根 sqrt(9) 3
trunc(dp或numeric) 截断(向零靠近) trunc(42.8) 42
trunc(v numeric,s int) 截断为s位小数 trunc(42.4382,2) 42.43
width_bucket(op numeric,b1 numeric,b2 numeric,count int) 返回包含count等宽柱的柱状图中operand所在的柱的编号,范围从low到high,超出该范围的输入则返回0或计数+1 width_bucket(5.35,0.024,10.06,5) 3
acos(x) 反余弦 acos(1) acos(-1) 0 3.141592653589793
asin(x) 反正弦 asin(0) asin(1)*2 0 3.141592653589793
atan(x) 反正切 atan(1) 0.7853981633974483
atan2(x,y) x/y的反正切 atan2(1,1) 0.7853981633974483
cos(x) 余弦 cos(pi()) cos(0) -1 1
cot(x) 余切 cot(0) Infinity
sin(x) 正弦 sin(0) sin(pi()/2) 0 1
tan(x) 正切 tan(pi()/4) 0.9999999999999999

猜你喜欢

转载自blog.csdn.net/songyundong1993/article/details/131416741