string_agg,substr,split_part,coalesce(nullif())

在开发过程中遇到的pgsql函数的使用:string_agg,substr,split_part,coalesce(nullif())

string_agg(expression,delimiter)

---- 一般情况下会配合group by 使用

expression:字符类型数据

delimiter:分隔符

string_agg(distinct T.name, ',') as name 将所有查询到的name通过,进行拼接

string_agg(distinct T.name, ',') as name form T group by id 将所有查询到的name通过“,”进行拼接,然后通过id进行分组,不同id下的name通过“,”进行拼接

substr

substr('abcdefg',3,4) --> cdef

substr(想要截取的字段,第几个字符开始索引从1开始,总共截取几个字符)

切割函数 split_part()

text=“a.b.c” split_part(text,’.’,1) 结果: a

text=“a.b.c” split_part(text,’.’,2) 结果: b

text=“a.b.c” split_part(text,’.’,3) 结果: c

项目中代码:tupbi.name =split_part(tt.a_port ,';CTP',1)

coalesce(nullif())

coalesce(nullif(trim(name), ''), '未知') as name

上式解析:name值为‘ ’ 返回未知作为name

nullif(a,b)如果a,b想等就返回“ ”,如果不相等就返回a(第一个表达式)

coalesce(a,b) 返回a,b中第一个非空值

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值