postgresql 字符串的两种连接方式
函数 | 返回类型 | 描述 | 样例 | 结果 |
string || string | 字符串 | 字符串拼接 | P' || 'SQL' | PSQL |
string || non-string or non-string || string | text | 拼接空字符串 | ‘Value: ' || 1 | Value: 1 |
concat(str "any" [, str "any" [, ...] ]) | 字符串 | 拼接函数里所有的字符串参数,忽略空字符串 | concat('abc', age, NULL, 9) | abcage9 |
concat_ws(sep text, str "any" [, str "any" [, ...] ]) | 字符串 | 第一个参数作为分隔符,拼接其他的几个参数 | concat_ws(',', 'abc', age, NULL, 9) | abc,age,9 |
分别举例:
1、sql字符串拼接
select '{"adminCodes":['||code||'],"name":"'||name||'"}' from admin_mapping limit 1000 ;
select '"po#'||name||'#latest":"dfdxcxcf"' from admin_mapping limit 1000 ;
select string_agg(name||'' , ',') from user
2、拼接空字符串
select '!'|| name,null || 'aaaa' from user_info
3、拼接函数里所有的字符串参数,忽略空字符串
select concat( id,NULL,':',_name) from user_info
4、第一个参数作为分隔符,拼接其他的几个参数,此处以!作为分隔符
select concat_ws( '!',id,name) from user_info