数字操作函数
abs(x)
描述:绝对值。
返回值类型:和输入相同。
示例:
1 2 3 4 5 |
SELECT abs(-17.4); abs ------ 17.4 (1 row) |
acos(x)
描述:反余弦。
返回值类型:double precision
示例:
1 2 3 4 5 |
SELECT acos(-1); acos ------------------ 3.14159265358979 (1 row) |
asin(x)
描述:反正弦。
返回值类型:double precision
示例:
1 2 3 4 5 |
SELECT asin(0.5); asin ------------------ .523598775598299 (1 row) |
atan(x)
描述:反正切。
返回值类型:double precision
示例:
1 2 3 4 5 |
SELECT atan(1); atan ------------------ .785398163397448 (1 row) |
atan2(y, x)
描述:y/x的反正切。
返回值类型:double precision
示例:
1 2 3 4 5 |
SELECT atan2(2, 1); atan2 ------------------ 1.10714871779409 (1 row) |
bitand(integer, integer)
描述:计算两个数字与运算(&)的结果。
返回值类型:bigint
示例:
1 2 3 4 5 |
SELECT bitand(127, 63); bitand -------- 63 (1 row) |
cbrt(double precision)
描述:立方根。
返回值类型:double precision
示例:
1 2 3 4 5 |
SELECT cbrt(27.0); cbrt ------ 3 (1 row) |
ceil(double precision or numeric)
描述:不小于参数的最小的整数。
返回值类型:与输入相同。
示例:
1 2 3 4 5 |
SELECT ceil(-42.8); ceil ------ -42 (1 row) |
ceiling(double precision or numeric)
描述:不小于参数的最小整数(ceil的别名)。
返回值类型:与输入相同。
示例:
1 2 3 4 5 |
SELECT ceiling(-95.3); ceiling --------- -95 (1 row) |
cos(x)
描述:余弦。
返回值类型:double precision
示例:
1 2 3 4 5 |
SELECT cos(-3.1415927); cos ------------------- -.999999999999999 (1 row) |
cot(x)
描述:余切。
返回值类型:double precision
示例:
1 2 3 4 5 |
SELECT cot(1); cot ------------------ .642092615934331 (1 row) |
degrees(double precision)
描述:把弧度转为角度。
返回值类型:double precision
示例:
1 2 3 4 5 |
SELECT degrees(0.5); degrees ------------------ 28.6478897565412 (1 row) |
div(y numeric, x numeric)
描述:y除以x的商的整数部分。
返回值类型:numeric
示例:
1 2 3 4 5 |
SELECT div(9,4); div ----- 2 (1 row) |
exp(double precision or numeric)
描述:自然指数。
返回值类型:与输入相同。
示例:
1 2 3 4 5 |
SELECT exp(1.0); exp -------------------- 2.7182818284590452 (1 row) |
floor(double precision or numeric)
描述:不大于参数的最大整数。
返回值类型:与输入相同。
示例:
1 2 3 4 5 |
SELECT floor(-42.8); floor ------- -43 (1 row) |
radians(double precision)
描述:把角度转为弧度。
返回值类型:double precision
示例:
1 2 3 4 5 |
SELECT radians(45.0); radians ------------------ .785398163397448 (1 row) |
random()
描述:0.0到1.0之间的随机数。
返回值类型:double precision
示例:
1 2 3 4 5 |
SELECT random(); random ------------------ .824823560658842 (1 row) |
ln(double precision or numeric)
描述:自然对数。
返回值类型:与输入相同。
示例:
1 2 3 4 5 |
SELECT ln(2.0); ln ------------------- .6931471805599453 (1 row) |
log(double precision or numeric)
描述:以10为底的对数。
- ORA和TD兼容模式下,表现为以10为底的对数。
- MySQL兼容模式下,表现为自然对数。
返回值类型:与输入相同。
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
-- ORA兼容模式 SELECT log(100.0); log -------------------- 2.0000000000000000 (1 row) -- TD兼容模式 SELECT log(100.0); log -------------------- 2.0000000000000000 (1 row) -- MySQL兼容模式 SELECT log(100.0); log -------------------- 4.6051701859880914 (1 row) |
log(b numeric, x numeric)
描述:以b为底的对数。
返回值类型:numeric
示例:
1 2 3 4 5 |
SELECT log(2.0, 64.0); log -------------------- 6.0000000000000000 (1 row) |
mod(x,y)
描述:x/y的余数(模)。如果x是0,则返回0。如果y是0,则返回x。
返回值类型:与参数类型相同。
示例:
1 2 3 4 5 |
SELECT mod(9,4); mod ----- 1 (1 row) |
1 2 3 4 5 |
SELECT mod(9,0); mod ----- 9 (1 row) |
pi()
描述:“π”常量。
返回值类型:double precision
示例:
1 2 3 4 5 |
SELECT pi(); pi ------------------ 3.14159265358979 (1 row) |
power(a double precision, b double precision)
描述:a的b次幂。
返回值类型:double precision
示例:
1 2 3 4 5 |
SELECT power(9.0, 3.0); power ---------------------- 729.0000000000000000 (1 row) |
round(double precision or numeric)
描述:离输入参数最近的整数。
返回值类型:与输入相同。
示例:
1 2 3 4 5 6 7 8 9 10 11 |
SELECT round(42.4); round ------- 42 (1 row) SELECT round(42.6); round ------- 43 (1 row) |
当调用round函数时,数值类型将向零舍入,而(在大多数计算机上) 实数和双精度型则以最接近的偶数为结果。
round(v numeric, s int)
描述:保留小数点后s位,s后一位进行四舍五入。
返回值类型:numeric
示例:
1 2 3 4 5 |
SELECT round(42.4382, 2); round ------- 42.44 (1 row) |
setseed(double precision)
描述:为随后的random()调用设置种子(-1.0到1.0之间,包含边界值)。
返回值类型:void
示例:
1 2 3 4 5 |
SELECT setseed(0.54823); setseed --------- (1 row) |
sign(double precision or numeric)
描述:输出此参数的符号。
返回值类型:-1表示负数,0表示0,1表示正数。
示例:
1 2 3 4 5 |
SELECT sign(-8.4); sign ------ -1 (1 row) |
sin(x)
描述:正弦。
返回值类型:double precision
示例:
1 2 3 4 5 |
SELECT sin(1.57079); sin ------------------ .999999999979986 (1 row) |
sqrt(x)
描述:平方根。
返回值类型:与输入相同。
示例:
1 2 3 4 5 |
SELECT sqrt(2.0); sqrt ------------------- 1.414213562373095 (1 row) |
tan(x)
描述:正切。
返回值类型:double precision
示例:
1 2 3 4 5 |
SELECT tan(20); tan ------------------ 2.23716094422474 (1 row) |
trunc(double precision or numeric)
描述:截断(取整数部分)。
返回值类型:与输入相同。
示例:
1 2 3 4 5 |
SELECT trunc(42.8); trunc ------- 42 (1 row) |
trunc(v numeric, s int)
描述:截断为s位小数。
返回值类型:numeric
示例:
1 2 3 4 5 |
SELECT trunc(42.4382, 2); trunc ------- 42.43 (1 row) |
width_bucket(operand numeric, b1 numeric, b2 numeric, count int)
描述:设定分组范围的最小值、最大值和分组个数,构建指定个数的大小相同的分组,返回指定字段值落入的分组编号。b1为分组范围的最小值,b2为分组范围的最大值,count为分组的个数。
返回值类型:integer
示例:
1 2 3 4 5 |
SELECT width_bucket(5.35, 0.024, 10.06, 5); width_bucket -------------- 3 (1 row) |
width_bucket(op double precision, b1 double precision, b2 double precision, count int)
描述:设定分组范围的最小值、最大值和分组个数,构建指定个数的大小相同的分组,返回指定字段值落入的分组编号。b1为分组范围的最小值,b2为分组范围的最大值,count为分组的个数。
返回值类型:integer
示例:
1 2 3 4 5 |
SELECT width_bucket(5.35, 0.024, 10.06, 5); width_bucket -------------- 3 (1 row) |