1. 数学函数:
- ABS(x): 返回 x 的绝对值。
SELECT ABS(-5); -- 返回 5
- ROUND(x, d): 返回 x 的四舍五入到小数点后 d 位的值。
SELECT ROUND(3.14159, 2); -- 返回 3.14
2. 字符串函数:
- CONCAT(string1, string2) 或 string1 || string2: 连接两个字符串。
SELECT CONCAT('Hello', ' ', 'World'); -- 返回 'Hello World'
- UPPER(string): 将字符串转换为大写。
SELECT UPPER('hello'); -- 返回 'HELLO'
- LOWER(string): 将字符串转换为小写。
SELECT LOWER('WORLD'); -- 返回 'world'
3. 日期和时间函数:
- CURRENT_DATE: 返回当前日期。
SELECT CURRENT_DATE; -- 返回当前日期
- NOW() 或 CURRENT_TIMESTAMP: 返回当前日期和时间。
SELECT NOW(); -- 返回当前日期和时间
- DATE_TRUNC(unit, date): 将日期截断到指定的单位。
SELECT DATE_TRUNC('hour', NOW()); -- 返回当前小时的开始时间
4. 聚合函数:
- SUM(column): 计算列值的总和。
SELECT SUM(sales) FROM transactions;
- AVG(column): 计算列值的平均值。
SELECT AVG(price) FROM products;
5. 条件函数:
- CASE: 在查询中执行条件逻辑。
SELECT
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
ELSE 'C'
END AS grade
FROM student_scores;
6. 数组函数:
- ARRAY_AGG(expression): 将行中的表达式聚合为数组。
SELECT department, ARRAY_AGG(employee_name) AS employees
FROM employees
GROUP BY department;
7. 窗口函数:
- ROW_NUMBER() OVER (PARTITION BY column ORDER BY column): 返回分区内行的序号。
SELECT
employee_name,
salary,
ROW_NUMBER() OVER (PARTITION BY department ORDER BY salary DESC) AS rank
FROM employees;
这只是一小部分 PostgreSQL 内置函数的示例。你可以在 PostgreSQL 文档中找到完整的函数列表以及它们的用法和说明。
转载请注明出处:http://www.zyzy.cn/article/detail/8201/PostgreSQL