当前位置: 首页 > news >正文

postgresql 内置函数有那些

PostgreSQL 提供了非常丰富和强大的内置函数库,涵盖多个类别。以下是主要的内置函数分类及常用示例:

1. 数学函数

表格

复制

函数说明示例
ABS(x)绝对值ABS(-10)→ 10
ROUND(x, d)四舍五入ROUND(3.14159, 2)→ 3.14
CEIL(x)/FLOOR(x)向上/向下取整CEIL(3.14)→ 4
POWER(a, b)幂运算POWER(2, 3)→ 8
SQRT(x)平方根SQRT(16)→ 4
CBRT(x)立方根CBRT(27)→ 3
LN(x)/LOG(x)自然对数/常用对数LN(2.0)→ 0.693...
RANDOM()0-1之间的随机数RANDOM()
MOD(y, x)取模MOD(10, 3)→ 1

2. 字符串函数

表格

复制

函数说明示例
CONCAT(str1, str2, ...)字符串连接CONCAT('Hello', ' ', 'World')
LENGTH(str)字符串长度LENGTH('PostgreSQL')→ 10
UPPER(str)/LOWER(str)大小写转换UPPER('hello')→ 'HELLO'
SUBSTRING(str FROM start [FOR count])子字符串SUBSTRING('PostgreSQL' FROM 1 FOR 5)→ 'Postg'
REPLACE(str, from, to)替换REPLACE('abc', 'b', 'X')→ 'aXc'
TRIM([BOTH/LEADING/TRAILING] [chars] FROM str)去除空格/字符TRIM(' hello ')→ 'hello'
LEFT(str, n)/RIGHT(str, n)左/右截取LEFT('PostgreSQL', 4)→ 'Post'
POSITION(substr IN str)查找位置POSITION('gre' IN 'PostgreSQL')→ 5
STRING_AGG(expr, delimiter)字符串聚合STRING_AGG(name, ',')

3. 日期时间函数

表格

复制

函数说明示例
NOW()/CURRENT_TIMESTAMP当前日期时间返回带时区的时间戳
CURRENT_DATE/CURRENT_TIME当前日期/时间
EXTRACT(field FROM timestamp)提取日期部分EXTRACT(YEAR FROM NOW())
DATE_TRUNC(field, timestamp)截断到指定精度DATE_TRUNC('month', NOW())
AGE(timestamp, timestamp)计算年龄/间隔AGE('2030-04-10', '2000-06-13')
TO_CHAR(timestamp, format)格式化日期为字符串TO_CHAR(NOW(), 'YYYY-MM-DD')
TO_DATE(text, format)字符串转日期TO_DATE('2023-12-25', 'YYYY-MM-DD')
TO_TIMESTAMP(text, format)字符串转时间戳
INTERVAL '1 day'时间间隔NOW() + INTERVAL '1 month'

4. 聚合函数

表格

复制

函数说明
COUNT(*)/COUNT(expr)计数
SUM(expr)求和
AVG(expr)平均值
MAX(expr)/MIN(expr)最大/最小值
ARRAY_AGG(expr)聚合为数组
JSON_AGG(expr)聚合为JSON
STRING_AGG(expr, delimiter)字符串聚合(列转行)

5. 窗口函数

表格

复制

函数说明
ROW_NUMBER() OVER (...)行号
RANK() OVER (...)排名(跳跃)
DENSE_RANK() OVER (...)密集排名
LEAD(expr, offset)/LAG(expr, offset)前/后偏移值
FIRST_VALUE(expr)/LAST_VALUE(expr)首/尾值
SUM(expr) OVER (...)累计求和
AVG(expr) OVER (...)移动平均

6. 条件函数

表格

复制

函数说明示例
COALESCE(val1, val2, ...)返回第一个非NULL值COALESCE(NULL, NULL, 'default')→ 'default'
NULLIF(val1, val2)相等返回NULLNULLIF(10, 10)→ NULL
GREATEST(val1, val2, ...)最大值GREATEST(1, 5, 3)→ 5
LEAST(val1, val2, ...)最小值LEAST(1, 5, 3)→ 1
CASE WHEN ... THEN ... END条件判断标准SQL条件表达式

7. 类型转换函数

表格

复制

函数说明
CAST(expr AS type)标准类型转换
expr::typePostgreSQL特有的类型转换语法
TO_CHAR(number/date, format)转为字符串
TO_NUMBER(text, format)字符串转数字
TO_DATE(text, format)字符串转日期
TO_TIMESTAMP(text, format)字符串转时间戳

8. JSON 函数

表格

复制

函数说明
JSON_BUILD_OBJECT(key, val, ...)构建JSON对象
JSON_BUILD_ARRAY(val1, val2, ...)构建JSON数组
JSON_OBJECT_AGG(key, value)聚合为JSON对象
JSON_ARRAY_AGG(expr)聚合为JSON数组
->/->>获取JSON字段(返回json/text)
#>/#>>按路径获取JSON字段
JSONB_SET(target, path, new_value)更新JSONB值

9. 数组函数

表格

复制

函数说明
ARRAY[elem1, elem2, ...]创建数组
ARRAY_LENGTH(array, dim)数组长度
ARRAY_APPEND(array, elem)添加元素
ARRAY_CAT(array1, array2)连接数组
UNNEST(array)数组展开为多行
ANY(array)/ALL(array)数组比较
@>/<@包含操作符

10. 系统/元数据函数

表格

复制

函数说明
VERSION()数据库版本
CURRENT_USER/SESSION_USER当前用户
CURRENT_DATABASE()当前数据库名
PG_SIZE_PRETTY(bytes)格式化字节大小
PG_RELATION_SIZE(relname)表/索引大小
PG_TOTAL_RELATION_SIZE(relname)总占用空间
OBJ_DESCRIPTION(oid, 'pg_class')对象注释

11. 其他常用函数

表格

复制

类别函数示例
网络地址HOST(inet),MASKLEN(inet),NETWORK(inet)
全文检索TO_TSVECTOR(text),TO_TSQUERY(text),TS_RANK()
UUIDUUID_GENERATE_V4(),GEN_RANDOM_UUID()
加密MD5(text),SHA256(bytea),CRYPT(password, salt)
序列NEXTVAL('seq_name'),CURRVAL('seq_name'),LASTVAL()

PostgreSQL 的内置函数非常丰富,以上只是最常用的部分。如需查看完整列表,建议参考 PostgreSQL 官方文档

http://www.jsqmd.com/news/377582/

相关文章:

  • 如何快速处理苹果充值卡?教你轻松回收变现的技巧! - 团团收购物卡回收
  • 服务器运维(三十六)日志分析nginx日志工具—东方仙盟
  • 2026年深圳管道疏通服务评测与排名:应对突发堵塞与日常维护的实用指南 - 十大品牌推荐
  • web前端调用go后端api
  • 链式求导的本质是什么?
  • 剖析精品咖啡培训学校推荐,青岛欧米奇专业优势全解读 - 工业设备
  • 2026年上海可靠的婚纱摄影公司有哪些,知名品牌推荐 - 工业品网
  • 2026年深圳海鸥手表维修评测与排名:非官方维修点选择指南与售后网点服务解析 - 十大品牌推荐
  • 【开题答辩全过程】以 基于Python淘宝电脑销售数据可视化系为例,包含答辩的问题和答案 - 教程
  • vector的扩容
  • 2026年浙江二级冷板专业供应商,带你解读好用品牌的奥秘 - mypinpai
  • 2026年深圳海鸥手表维修评测推荐:非官方维修网点服务榜单与避坑指南 - 十大品牌推荐
  • 基于MATLAB的语音信号处理与去噪全流程实现
  • 大型项目协作如何选型?2026年项目管理系统推荐与评价,解决扩展性与可视化痛点 - 十大品牌推荐
  • 2026年入坑程序员请注意:千万别碰这几个即将被计算机行业淘汰的编程语言!Java/python/golang/C/C++/C#/开发/测试运维/后端/码士集团(2)
  • 2026年深圳古驰手表维修推荐评测:非官方维修点选择指南与全国服务网点推荐 - 十大品牌推荐
  • oracle创建新的实例,用于异机恢复
  • 深入解析:大学院-筆記試験練習:线性代数和数据结构(8)
  • 2026年选哪个平台?项目管理平台推荐与排名,解决多项目统筹与成本痛点 - 十大品牌推荐
  • 瑞祥商联卡怎么提现到微信 - 团团收购物卡回收
  • 银发健康必看:中老年保健品品牌推荐及选购攻略(防坑榜) - 品牌排行榜
  • 广州高端猎头服务深度点评:为什么川普猎头是成就卓越企业的首选合作伙伴 - 品牌企业推荐师(官方)
  • 苹果充值卡如何变现?分享安全可靠的交易方式! - 团团收购物卡回收
  • 2026年深圳冠蓝狮手表维修推荐榜单评测:非官方维修网点服务与售后中心选择指南 - 十大品牌推荐
  • 智造驱动未来:展望2026年汽车电瓶设备的技术变革与市场图景 - 品牌2025
  • AI元人文:自感专论(拟合底稿与未来论证)
  • 2026年深圳管道疏通服务评测排名推荐:解决管道堵塞与维护难题的实用指南 - 十大品牌推荐
  • AtCoder Beginner Contest竞赛题解 | AtCoder Beginner Contest 425
  • Windows Server 2008R2/2012/2016 克隆修改SID
  • 数据科学与大数据技术毕业设计2026方向100例