Estoy tratando de concatenar varias columnas y omitir la columna si la columna es NULA O está vacía en postgres. Por ejemplo:
SELECT CONCAT(coalesce('a',''), '|',coalesce('b',''), '|',coalesce(NULL,''), '|',coalesce('',''), '|',coalesce('',''), '|',coalesce('c','')) AS finalstring; Salida: a|b||||c
Salida esperada: a|b|c
Usa concat_ws() , que ignora los valores null :
concat_ws('|', col1, col2, col3, ...) Si también desea ignorar las cadenas vacías, puede usar nullif() :
concat_ws('|', nullif(col1, ''), nullif(col2, ''), nullif(col3, ''), ...)