主题
内置函数与操作符
字符串函数
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 提供了丰富的内置函数与操作符,帮助开发者进行各种数据处理任务。从字符串操作到数学计算,再到日期与时间处理,熟练使用这些函数和操作符能显著提高查询的效率和表达能力。