- PostgreSQL 教程
- PostgreSQL - 首页
- PostgreSQL - 概述
- PostgreSQL - 环境设置
- PostgreSQL - 语法
- PostgreSQL - 数据类型
- PostgreSQL - 创建数据库
- PostgreSQL - 选择数据库
- PostgreSQL - 删除数据库
- PostgreSQL - 创建表
- PostgreSQL - 删除表
- PostgreSQL - 模式
- PostgreSQL - 插入查询
- PostgreSQL - 选择查询
- PostgreSQL - 运算符
- PostgreSQL - 表达式
- PostgreSQL - WHERE 子句
- PostgreSQL - AND & OR 子句
- PostgreSQL - 更新查询
- PostgreSQL - 删除查询
- PostgreSQL - LIKE 子句
- PostgreSQL - LIMIT 子句
- PostgreSQL - ORDER BY 子句
- PostgreSQL - GROUP BY
- PostgreSQL - WITH 子句
- PostgreSQL - HAVING 子句
- PostgreSQL - DISTINCT 关键字
- 高级 PostgreSQL
- PostgreSQL - 约束
- PostgreSQL - 连接
- PostgreSQL - UNION 子句
- PostgreSQL - NULL 值
- PostgreSQL - 别名语法
- PostgreSQL - 触发器
- PostgreSQL - 索引
- PostgreSQL - ALTER TABLE 命令
- TRUNCATE TABLE 命令
- PostgreSQL - 视图
- PostgreSQL - 事务
- PostgreSQL - 锁
- PostgreSQL - 子查询
- PostgreSQL - 自动递增
- PostgreSQL - 权限
- 日期/时间函数 & 运算符
- PostgreSQL - 函数
- PostgreSQL - 常用函数
- PostgreSQL 接口
- PostgreSQL - C/C++
- PostgreSQL - Java
- PostgreSQL - PHP
- PostgreSQL - Perl
- PostgreSQL - Python
- PostgreSQL 常用资源
- PostgreSQL - 快速指南
- PostgreSQL - 常用资源
- PostgreSQL - 讨论
PostgreSQL - 数值函数
PostgreSQL 数值函数主要用于数值操作和/或数学计算。下表详细列出了数值函数:
序号 | 名称及描述 |
---|---|
1 | ABS()
返回数值表达式的绝对值。 |
2 | ACOS()
返回数值表达式的反余弦值。如果值不在 -1 到 1 的范围内,则返回 NULL。 |
3 | ASIN()
返回数值表达式的反正弦值。如果值不在 -1 到 1 的范围内,则返回 NULL。 |
4 | ATAN()
返回数值表达式的反正切值。 |
5 | ATAN2()
返回传递给它的两个变量的反正切值。 |
6 | CEIL()
返回不大于传递的数值表达式的最小整数值。 |
7 | CEILING()
返回不大于传递的数值表达式的最小整数值。 |
8 | COS()
返回传递的数值表达式的余弦值。数值表达式应以弧度表示。 |
9 | COT()
返回传递的数值表达式的余切值。 |
10 | DEGREES()
返回从弧度转换为角度的数值表达式。 |
11 | EXP()
返回自然对数的底数 (e) 乘以传递的数值表达式的幂。 |
12 | FLOOR()
返回不大于传递的数值表达式的最大整数值。 |
13 | GREATEST()
返回输入表达式中的最大值。 |
14 | LEAST()
当给出两个或更多值时,返回最小值输入。 |
15 | LOG()
返回传递的数值表达式的自然对数。 |
16 | MOD()
返回一个表达式除以另一个表达式的余数。 |
17 | PI()
返回 π 的值。 |
18 | POW()
返回一个表达式乘以另一个表达式的幂的值。 |
19 | POWER()
返回一个表达式乘以另一个表达式的幂的值。 |
20 | RADIANS()
返回从角度转换为弧度的传递表达式的值。 |
21 | ROUND()
返回四舍五入到整数的数值表达式。可用于将表达式四舍五入到小数位数。 |
22 | SIN()
返回以弧度表示的数值表达式的正弦值。 |
23 | SQRT()
返回数值表达式的非负平方根。 |
24 | TAN()
返回以弧度表示的数值表达式的正切值。 |
ABS(X)
ABS() 函数返回 X 的绝对值。请考虑以下示例:
testdb=# SELECT ABS(2); +---------------------------------------------------------+ | ABS(2) | +---------------------------------------------------------+ | 2 | +---------------------------------------------------------+ 1 row in set (0.00 sec) testdb=# SELECT ABS(-2); +---------------------------------------------------------+ | ABS(2) | +---------------------------------------------------------+ | 2 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
ACOS(X)
此函数返回 X 的反余弦值。X 的值必须介于 -1 和 1 之间,否则将返回 NULL。请考虑以下示例:
testdb=# SELECT ACOS(1); +---------------------------------------------------------+ | ACOS(1) | +---------------------------------------------------------+ | 0.000000 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
ASIN(X)
ASIN() 函数返回 X 的反正弦值。X 的值必须在 -1 到 1 的范围内,否则返回 NULL。
testdb=# SELECT ASIN(1); +---------------------------------------------------------+ | ASIN(1) | +---------------------------------------------------------+ | 1.5707963267949 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
ATAN(X)
此函数返回 X 的反正切值。
testdb=# SELECT ATAN(1); +---------------------------------------------------------+ | ATAN(1) | +---------------------------------------------------------+ | 0.78539816339745 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
ATAN2(Y,X)
此函数返回两个参数 X 和 Y 的反正切值。它类似于 Y/X 的反正切值,只是使用了两个参数的符号来查找结果的象限。
testdb=# SELECT ATAN2(3,6); +---------------------------------------------------------+ | ATAN2(3,6) | +---------------------------------------------------------+ | 0.46364760900081 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
CEIL(X) / CEILING(X)
这些函数返回不小于 X 的最小整数值。请考虑以下示例:
testdb=# SELECT CEILING(3.46); +---------------------------------------------------------+ | CEILING(3.46) | +---------------------------------------------------------+ | 4 | +---------------------------------------------------------+ 1 row in set (0.00 sec) testdb=# SELECT CEIL(-6.43); +---------------------------------------------------------+ | CEIL(-6.43) | +---------------------------------------------------------+ | -6 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
COS(X)
此函数返回 X 的余弦值。X 的值以弧度表示。
testdb=#SELECT COS(90); +---------------------------------------------------------+ | COS(90) | +---------------------------------------------------------+ | -0.44807361612917 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
COT(X)
此函数返回 X 的余切值。请考虑以下示例:
testdb=#SELECT COT(1); +---------------------------------------------------------+ | COT(1) | +---------------------------------------------------------+ | 0.64209261593433 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
DEGREES(X)
此函数返回从弧度转换为角度的 X 值。
testdb=#SELECT DEGREES(PI()); +---------------------------------------------------------+ | DEGREES(PI()) | +---------------------------------------------------------+ | 180.000000 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
EXP(X)
此函数返回 e(自然对数的底数)的 X 次幂的值。
testdb=#SELECT EXP(3); +---------------------------------------------------------+ | EXP(3) | +---------------------------------------------------------+ | 20.085537 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
FLOOR(X)
此函数返回不大于 X 的最大整数值。
testdb=#SELECT FLOOR(7.55); +---------------------------------------------------------+ | FLOOR(7.55) | +---------------------------------------------------------+ | 7 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
GREATEST(n1,n2,n3,..........)
GREATEST() 函数返回一组输入参数 (n1、n2、n3 等) 中的最大值。以下示例使用 GREATEST() 函数从一组数值中返回最大数:
testdb=#SELECT GREATEST(3,5,1,8,33,99,34,55,67,43); +---------------------------------------------------------+ | GREATEST(3,5,1,8,33,99,34,55,67,43) | +---------------------------------------------------------+ | 99 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
LEAST(N1,N2,N3,N4,......)
LEAST() 函数与 GREATEST() 函数相反。它的目的是从值列表 (N1、N2、N3 等) 中返回最小值项。以下示例显示了 LEAST() 函数的正确用法和输出:
testdb=#SELECT LEAST(3,5,1,8,33,99,34,55,67,43); +---------------------------------------------------------+ | LEAST(3,5,1,8,33,99,34,55,67,43) | +---------------------------------------------------------+ | 1 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
LOG(X) / LOG(B,X)
函数的单参数版本将返回 X 的自然对数。如果用两个参数调用它,它将返回任意底数 B 的 X 的对数。请考虑以下示例:
testdb=#SELECT LOG(45); +---------------------------------------------------------+ | LOG(45) | +---------------------------------------------------------+ | 1.65321251377534 | +---------------------------------------------------------+ 1 row in set (0.00 sec) testdb=#SELECT LOG(2,65536); +---------------------------------------------------------+ | LOG(2,65536) | +---------------------------------------------------------+ | 16.000000 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
MOD(N,M)
此函数返回 N 除以 M 的余数。请考虑以下示例:
testdb=#SELECT MOD(29,3); +---------------------------------------------------------+ | MOD(29,3) | +---------------------------------------------------------+ | 2 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
PI()
此函数只返回 π 的值。SQL 内部存储 π 的完整双精度值。
testdb=#SELECT PI(); +---------------------------------------------------------+ | PI() | +---------------------------------------------------------+ | 3.141593 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
POW(X,Y) / POWER(X,Y)
这两个函数返回 X 的 Y 次幂的值。
testdb=# SELECT POWER(3,3); +---------------------------------------------------------+ | POWER(3,3) | +---------------------------------------------------------+ | 27 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
RADIANS(X)
此函数返回 X 的值,从角度转换为弧度。
testdb=#SELECT RADIANS(90); +---------------------------------------------------------+ | RADIANS(90) | +---------------------------------------------------------+ |1.570796 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
ROUND(X) / ROUND(X,D)
此函数返回四舍五入到最接近整数的 X。如果提供第二个参数 D,则函数返回四舍五入到 D 位小数的 X。D 必须为正数,否则小数点右侧的所有数字都将被删除。请考虑以下示例:
testdb=#SELECT ROUND(5.693893); +---------------------------------------------------------+ | ROUND(5.693893) | +---------------------------------------------------------+ | 6 | +---------------------------------------------------------+ 1 row in set (0.00 sec) testdb=#SELECT ROUND(5.693893,2); +---------------------------------------------------------+ | ROUND(5.693893,2) | +---------------------------------------------------------+ | 5.69 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
SIGN(X)
此函数返回 X 的符号(负数、零或正数)作为 -1、0 或 1。
testdb=#SELECT SIGN(-4.65); +---------------------------------------------------------+ | SIGN(-4.65) | +---------------------------------------------------------+ | -1 | +---------------------------------------------------------+ 1 row in set (0.00 sec) testdb=#SELECT SIGN(0); +---------------------------------------------------------+ | SIGN(0) | +---------------------------------------------------------+ | 0 | +---------------------------------------------------------+ 1 row in set (0.00 sec) testdb=#SELECT SIGN(4.65); +---------------------------------------------------------+ | SIGN(4.65) | +---------------------------------------------------------+ | 1 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
SIN(X)
此函数返回 X 的正弦值。请考虑以下示例:
testdb=#SELECT SIN(90); +---------------------------------------------------------+ | SIN(90) | +---------------------------------------------------------+ | 0.893997 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
SQRT(X)
此函数返回 X 的非负平方根。请考虑以下示例:
testdb=#SELECT SQRT(49); +---------------------------------------------------------+ | SQRT(49) | +---------------------------------------------------------+ | 7 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
TAN(X)
此函数返回参数 X 的正切值,该参数以弧度表示。
testdb=#SELECT TAN(45); +---------------------------------------------------------+ | TAN(45) | +---------------------------------------------------------+ | 1.619775 | +---------------------------------------------------------+ 1 row in set (0.00 sec)