主题
内置函数与操作符
字符串函数
PostgreSQL 提供了多种用于字符串处理的内置函数。
字符串连接
使用 || 操作符进行字符串连接。
sql
SELECT 'Hello' || ' ' || 'World' AS greeting;字符串长度
LENGTH 函数返回字符串的字符数。
sql
SELECT LENGTH('PostgreSQL') AS length;转换为大写/小写
UPPER 和 LOWER 分别将字符串转换为大写或小写。
sql
SELECT UPPER('hello') AS upper_case, LOWER('HELLO') AS lower_case;字符串替换
REPLACE 函数替换字符串中的子字符串。
sql
SELECT REPLACE('Hello, World!', 'World', 'PostgreSQL') AS new_string;字符串查找
POSITION 用于查找子字符串的位置。
sql
SELECT POSITION('SQL' IN 'PostgreSQL') AS position;数学函数
PostgreSQL 提供了许多常用的数学函数。
求绝对值
ABS 返回数字的绝对值。
sql
SELECT ABS(-25) AS absolute_value;求平方根
sqrt 返回数字的平方根。
sql
SELECT sqrt(25) AS square_root;四舍五入
ROUND 用于对数字进行四舍五入。
sql
SELECT ROUND(123.456, 2) AS rounded_value;数字取整
CEIL 和 FLOOR 分别返回数字的上限和下限。
sql
SELECT CEIL(3.14) AS ceil_value, FLOOR(3.14) AS floor_value;日期与时间函数
PostgreSQL 提供了多种处理日期和时间的函数。
获取当前日期和时间
CURRENT_DATE 和 CURRENT_TIMESTAMP 返回当前的日期和时间。
sql
SELECT CURRENT_DATE AS current_date, CURRENT_TIMESTAMP AS current_timestamp;日期加减
DATE 类型的加减操作,可以增加或减少指定的时间单位。
sql
SELECT CURRENT_DATE + INTERVAL '1 day' AS tomorrow;
SELECT CURRENT_DATE - INTERVAL '1 month' AS last_month;获取日期部分
EXTRACT 提取日期的特定部分,如年、月、日等。
sql
SELECT EXTRACT(YEAR FROM CURRENT_DATE) AS current_year;聚合函数
PostgreSQL 内置了多种聚合函数,常用于统计数据。
COUNT
COUNT 用于统计记录数。
sql
SELECT COUNT(*) FROM employees;AVG
AVG 计算数值列的平均值。
sql
SELECT AVG(salary) FROM employees;MAX / MIN
MAX 和 MIN 返回指定列的最大值和最小值。
sql
SELECT MAX(salary) FROM employees;
SELECT MIN(salary) FROM employees;操作符
PostgreSQL 提供了许多操作符用于不同类型的数据处理。
数值操作符
用于数值类型的常见操作符。
+:加法-:减法*:乘法/:除法
sql
SELECT salary + 1000 AS increased_salary FROM employees;字符串操作符
||:字符串连接LIKE:模糊匹配ILIKE:不区分大小写的模糊匹配
sql
SELECT name FROM employees WHERE name LIKE 'J%';比较操作符
常见的比较操作符:
=:等于<>:不等于<、<=、>、>=:大于、小于、大于等于、小于等于
sql
SELECT * FROM employees WHERE salary >= 50000;区间操作符
BETWEEN:检查某个值是否在指定范围内。IN:检查值是否属于给定的列表。
sql
SELECT * FROM employees WHERE salary BETWEEN 40000 AND 60000;
SELECT * FROM employees WHERE department_id IN (1, 2, 3);小结
PostgreSQL 提供了丰富的内置函数与操作符,帮助开发者进行各种数据处理任务。从字符串操作到数学计算,再到日期与时间处理,熟练使用这些函数和操作符能显著提高查询的效率和表达能力。