pgsql常用函数

字符处理类

COALESCE(column_name, 指定值)

将空值(NULL)转为指定值,column_name为字段名,逗号后可以指定值。如COALESCE(id, 0)

SPLIT_PART(字符串, 分隔符, 位置索引)

返回字符串中按分隔符分隔的指定序号字符

如:SELECT split_part('12-13-14', '-', 2) 返回13

SELECT split_part('12-13-14', '-', 3) 返回14

CONCAT(字符串,字符串)

将多个字符串拼接到一起

TRIM()

去除字符串两端的空格,如SELECT trim(' hello ! ') 输出'hello !'

时间处理

TO_TIMESTAMP()

时间戳转日期时间,毫秒级的时间戳需要先÷1000

SELECT TO_TIMESTAMP(1635388200) 输出2021-10-28 10:30:00+08

SELECT TO_TIMESTAMP(1635388200000/1000) 输出2021-10-28 10:30:00+08

TO_CHAR()

格式化日期时间为指定字符串

SELECT TO_CHAR(NOW(), 'YYYY-MM-DD HH24:MI:SS');

-- 输出:2025-10-28 14:42:34

EXTRACT()

提取日期时间的组成部分

SELECT EXTRACT(YEAR FROM NOW()) AS year,

EXTRACT(MONTH FROM NOW()) AS month,

EXTRACT(DAY FROM NOW()) AS day;

使用+/-进行日期加减

INTERVAL后可以加minutes,SECOND,也可以进行组合,如INTERVAL '1 year 2 months 3 days'

Json数据处理

jsonb_array_elements

展开JSON数组为多行

jsonb_set(target jsonb, path text[], new_value jsonb, [create_missing boolean])

更新现有键的值:通过指定路径,替换对应位置的值。

添加新键:如果路径不存在且create_missing为true,则创建新键。

如:UPDATE mo_trail_order_detail SET attr_value = jsonb_set ( attr_value, '{order_no}', case when attr_value ->> 'order_no' is not null then to_jsonb(attr_value ->> 'order_no' || ',A001' ) ELSE '"A001"' END, TRUE ) WHERE ID = 1221

jsonb_build_array(any)

构造列表对象

jsonb_build_object(any)

构造object对象

如:jsonb_build_object('customer_code',customer_code)

相关推荐
2601_949146533 分钟前
C语言语音通知API示例代码:基于标准C的语音接口开发与底层调用实践
c语言·开发语言
开源技术14 分钟前
Python Pillow 优化,打开和保存速度最快提高14倍
开发语言·python·pillow
学嵌入式的小杨同学20 分钟前
从零打造 Linux 终端 MP3 播放器!用 C 语言实现音乐自由
linux·c语言·开发语言·前端·vscode·ci/cd·vim
岁岁种桃花儿32 分钟前
MySQL从入门到精通系列:InnoDB记录存储结构
数据库·mysql
毕设源码-朱学姐1 小时前
【开题答辩全过程】以 基于JavaWeb的网上家具商城设计与实现为例,包含答辩的问题和答案
java
jiunian_cn2 小时前
【Redis】hash数据类型相关指令
数据库·redis·哈希算法
mftang2 小时前
Python 字符串拼接成字节详解
开发语言·python
冉冰学姐2 小时前
SSM在线影评网站平台82ap4(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm框架·在线影评平台·影片分类
jasligea2 小时前
构建个人智能助手
开发语言·python·自然语言处理
kokunka2 小时前
【源码+注释】纯C++小游戏开发之射击小球游戏
开发语言·c++·游戏