postgresql concat列,如果列为null或为空字符串,则跳过列

bfnvny8b  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(593)

如果postgres中的列为null或空,我尝试连接多个列并跳过该列。例如:

SELECT CONCAT(coalesce('a',''),
        '|',coalesce('b',''),
        '|',coalesce(NULL,''),
        '|',coalesce('',''),
        '|',coalesce('',''),
        '|',coalesce('c','')) AS finalstring;

输出: a|b||||c 预期产量: a|b|c

jslywgbw

jslywgbw1#

使用 concat_ws() ,忽略 null 价值观:

concat_ws('|', col1, col2, col3, ...)

如果您也想忽略空字符串,那么可以使用 nullif() :

concat_ws('|', nullif(col1, ''), nullif(col2, ''), nullif(col3, ''), ...)

相关问题