在开发过程中遇到的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中第一个非空值