数学函数
提供数学功能。
三角函数
下表介绍了所提供的三角函数。
| 函数 | 输入数据类型 | 输出数据类型 | 描述 |
|---|---|---|---|
acos(x) |
双精度 | 双精度 | 反余弦 |
asin(x) |
双精度 | 双精度 | 反正弦 |
atan(x) |
双精度 | 双精度 | 反切 |
atan2(x,y) |
双精度 | 双精度 | x/y 的反切。 |
cos(x) |
双精度 | 双精度 | 余弦 |
cot(x) |
双精度 | 双精度 | 余切 |
degrees(x) |
双精度 | 双精度 | 将弧度转换为度数。 |
pi() |
(无) | 双精度 | π(周长与直径之比)。 |
radians(x) |
双精度 | 双精度 | 将度转换为弧度。 |
sin(x) |
双精度 | 双精度 | 正弦波 |
tan(x) |
双精度 | 双精度 | 切题。 |
随机数函数
下表介绍了所提供的随机数功能。
| 函数 | 输入数据类型 | 输出数据类型 | 描述 | 示例 | 结果 |
|---|---|---|---|---|---|
random() |
(无) | 双精度 | 大于 0 小于 1 的随机值。 | random() |
0.27116098407244 |
setseed(x) |
(无) | 设置 "random()函数的种子值。 |
setseed(0.548) |
(返回码) |
数字函数
下表介绍了所提供的数字功能。
| 函数 | 输入数据类型 | 输出数据类型 | 描述 | 示例 | 结果 |
|---|---|---|---|---|---|
n! |
byteint, smallint, integer, bigint | int8 | 整数n 的阶乘: |
5! |
120 |
abs(x) |
字节整型、小整型、整数、大整型、双精度、实数、数值 | 与x相同 | 绝对值 | abs (-17.4) |
17.4 |
ceil(x) |
数值 | 数值 | 不小于x的最小整数 | ceil (-42.8) |
-42 |
dceil(x) |
双精度 | 双精度 | 不小于x的最小整数 | dceil (42.8) |
43 |
dfloor(x) |
双精度 | 双精度 | 不大于参数的最大整数 | floor(42.8) |
42 |
exp(x) |
双精度,数值 | 与x相同 | 指数。 | exp(1.0) |
2.71828182845905 |
floor(x) |
数值 | 数值 | 不大于参数的最大整数 | floor(-42.8) |
-43 |
fpow(a,b) |
实数 | 实数 | a 升为 b 的幂 | pow(9.0, 3.0) |
729 |
ln(x) |
双精度 | 双精度值 | 自然对数 | ln(2.0) |
0.693147180559945 |
log(x) |
数值 | 数值 | 以 10 为底的对数 | log(100.0) |
2 |
mod(x,y) |
双精度、实数、数值、字节整数、小整数、整数、大整数 | 如果 x 或 y 的类型是双精度或实数,输出类型就是双精度;否则,如果 x 或 y 是数值型,输出就是数值型;否则,x 和 y 都是整数,输出数据类型就是两种输入数据类型中的较宽类型 | 计算 x/y 的余数 | mod(9,4) |
1 |
numeric_sqrt(x) |
数值 | 数值 | 平方根 | numeric_sqrt(2) |
1.4142 |
pow(a,b) |
双精度 | dp | a 升为 b 的幂 | pow(9.0, 3.0) |
729 |
round(x) |
双精度,数值 | 与输入相同 | 四舍五入 | round(42.4) |
42 |
round(v,n) |
v 是数值,n 是字节整数、小整数、整数、大整数 | 数值 | 四舍五入 | round(2.4382,2) |
2.44 |
sign(x) |
数值 | 数值 | 参数的符号(-1,0,+1) | sign(-8.4) |
-1 |
sqrt(x) |
双精度 | 双精度值 | 平方根 | sqrt(2.0) |
1.4142135623731 |
trunc(x) |
双精度,数值 | 与输入相同 | 向零截断 | trunc(42.8) |
42 |
trunc(v,n) |
v 是数值,n 是字节整数、小整数、整数、大整数 | 数值 | 截断到小数点后 s 位 | trunc(2.4382,2) |
2.43 |
注意:"
pow函数的结果必须适合FLOAT8(双精度浮点数值)。 一个FLOAT8可以保存正值或负值,其大小最大为1.798x10308,最小为4.941x 10-324(近似值)。二进制数学函数
下表介绍了所提供的二进制数学函数。
在每个函数中,占位符N代表函数操作和返回的整数数据类型的大小:
| 函数 | 描述 | 示例 | 结果 |
|---|---|---|---|
intNand(x,y) |
x和y 的比特 AND | int2and(3,6) |
2(小数点) |
intNor(x,y) |
x和y 的比特 OR。 | int1or(3,6) |
7(字节整数) |
intNxor(x,y) |
x和y 的比特排他 OR。 | int8xor(3,6) |
5 (大整型) |
intNnot(x) |
x 的二进制 NOT。 | int4xor(3) |
--4(整数) |
intNshl(x,y
[,z]) |
x和z的比特 AND(如果指定),然后左移y比特(左移,可选掩码)。 | int2shl(3,1,6) |
4(小数点) |
intNshr(x,y
[,z]) |
x和z的比特 AND(如果指定),然后右移y比特(右移,可选掩码)。 | int2shr(3,1,6) |
1(小数点) |
- 1
- BYTEINT(别名 INT1)
- 2
- 小int2
- 4
- 整数
- 8
- bigint(别名int8