2025年9月25日: PostgreSQL 18 发布!
支持的版本:当前 (18) / 17 / 16 / 15 / 14 / 13
开发版本:devel
不支持的版本:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

第 9 章 函数和运算符

目录

9.1. 逻辑运算符
9.2. 比较函数和运算符
9.3. 数学函数和运算符
9.4. 字符串函数和运算符
9.4.1. format
9.5. 二进制字符串函数和运算符
9.6. 位字符串函数和运算符
9.7. 模式匹配
9.7.1. LIKE
9.7.2. SIMILAR TO 正则表达式
9.7.3. POSIX正则表达式
9.8. 数据类型格式化函数
9.9. 日期/时间函数和运算符
9.9.1. EXTRACT, date_part
9.9.2. date_trunc
9.9.3. date_bin
9.9.4. AT TIME ZONEAT LOCAL
9.9.5. 当前日期/时间
9.9.6. 延迟执行
9.10. 枚举支持函数
9.11. 几何函数和运算符
9.12. 网络地址函数和运算符
9.13. 文本搜索函数和运算符
9.14. UUID 函数
9.15. XML 函数
9.15.1. 生成 XML 内容
9.15.2. XML 断言
9.15.3. 处理 XML
9.15.4. 将表映射到 XML
9.16. JSON 函数和运算符
9.16.1. 处理和创建 JSON 数据
9.16.2. SQL/JSON 路径语言
9.16.3. SQL/JSON 查询函数
9.16.4. JSON_TABLE
9.17. 序列操作函数
9.18. 条件表达式
9.18.1. CASE
9.18.2. COALESCE
9.18.3. NULLIF
9.18.4. GREATESTLEAST
9.19. 数组函数和运算符
9.20. 范围/多范围函数和运算符
9.21. 聚合函数
9.22. 窗口函数
9.23. 合并支持函数
9.24. 子查询表达式
9.24.1. EXISTS
9.24.2. IN
9.24.3. NOT IN
9.24.4. ANY/SOME
9.24.5. ALL
9.24.6. 单行比较
9.25. 行和数组比较
9.25.1. IN
9.25.2. NOT IN
9.25.3. ANY/SOME (数组)
9.25.4. ALL (数组)
9.25.5. 行构造函数比较
9.25.6. 复合类型比较
9.26. 返回集合的函数
9.27. 系统信息函数和运算符
9.27.1. 会话信息函数
9.27.2. 访问权限查询函数
9.27.3. Schema 可见性查询函数
9.27.4. 系统目录信息函数
9.27.5. 对象信息和寻址函数
9.27.6. 注释信息函数
9.27.7. 数据有效性检查函数
9.27.8. 事务 ID 和快照信息函数
9.27.9. 已提交事务信息函数
9.27.10. 控制数据函数
9.27.11. 版本信息函数
9.27.12. WAL 汇总信息函数
9.28. 系统管理函数
9.28.1. 配置设置函数
9.28.2. 服务器信号函数
9.28.3. 备份控制函数
9.28.4. 恢复控制函数
9.28.5. 快照同步函数
9.28.6. 复制管理函数
9.28.7. 数据库对象管理函数
9.28.8. 索引维护函数
9.28.9. 通用文件访问函数
9.28.10. 建议锁函数
9.29. 触发器函数
9.30. 事件触发器函数
9.30.1. 在命令结束时捕获更改
9.30.2. 处理由 DDL 命令删除的对象
9.30.3. 处理表重写事件
9.31. 统计信息函数
9.31.1. 检查 MCV 列表

PostgreSQL 为内置数据类型提供了大量的函数和运算符。本章描述了其中的大部分,尽管其他专用函数出现在手册的相关章节中。用户还可以像 第五部分 中所述那样定义自己的函数和运算符。 psql 命令 \df\do 分别可用于列出所有可用的函数和运算符。

本章用来描述函数或运算符的参数和结果数据类型的表示法如下:

repeat ( text, integer ) → text

这表示函数 repeat 接受一个文本参数和一个整数参数,并返回一个文本类型的结果。右箭头也用于指示示例的结果,因此:

repeat('Pg', 4) → PgPgPgPg

如果您关心可移植性,请注意,本章中描述的大多数函数和运算符(除了最简单的算术和比较运算符以及一些明确标记的函数)都未在SQL标准中定义。其中一些扩展功能存在于其他SQL数据库管理系统中,并且在许多情况下,这些功能在各种实现之间是兼容和一致的。

提交更正

如果您在文档中发现任何不正确、与您对特定功能的使用经验不符或需要进一步澄清的内容,请使用此表格报告文档问题。