1. 聚合函数:
- SUM():计算指定列的总和。
- AVG():计算指定列的平均值。
- MIN() 和 MAX():分别找出指定列的最小值和最大值。
- COUNT():计算行数。
SELECT SUM(column1), AVG(column2), MIN(column3), MAX(column4), COUNT(*)
FROM my_table;
2. 字符串函数:
- CONCAT() 或 ||:连接字符串。
- UPPER() 和 LOWER():将字符串转换为大写或小写。
- LENGTH() 或 CHAR_LENGTH():计算字符串的长度。
SELECT CONCAT(first_name, ' ', last_name) AS full_name,
UPPER(city) AS uppercase_city,
LENGTH(email) AS email_length
FROM customer;
3. 日期和时间函数:
- NOW():返回当前日期和时间。
- DATE_PART():提取日期或时间的部分。
- AGE():计算两个日期之间的差值。
SELECT NOW() AS current_datetime,
DATE_PART('year', hire_date) AS hire_year,
AGE(NOW(), birth_date) AS age
FROM employee;
4. 条件函数:
- COALESCE():返回参数列表中的第一个非空值。
- CASE:执行条件判断。
SELECT first_name,
COALESCE(middle_name, 'N/A') AS middle_name,
CASE WHEN salary > 50000 THEN 'High' ELSE 'Low' END AS salary_level
FROM employee;
5. 数组函数:
- ARRAY_LENGTH():返回数组的长度。
- UNNEST():将数组展开为表格。
SELECT ARRAY_LENGTH(tags, 1) AS num_tags,
UNNEST(tags) AS individual_tag
FROM document;
6. 窗口函数:
- ROW_NUMBER()、RANK()、DENSE_RANK():对查询结果进行排名。
- LEAD() 和 LAG():访问结果集中下一行或上一行的值。
SELECT employee_id,
salary,
ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS ranking
FROM employee;
这只是一小部分 PostgreSQL 实用函数的示例。PostgreSQL 提供了丰富的内建函数,以及用户可以自定义的函数。在编写查询时,查阅 PostgreSQL 文档以了解可用的函数是很有帮助的。
转载请注明出处:http://www.zyzy.cn/article/detail/8544/PostgreSQL