Estou executando uma consulta no Postgres usando o ||
operador para concatenar algumas colunas e parece que onde uma das colunas está em branco todo o resultado fica em branco. ||
Isso é um comportamento normal ?
Com "em branco" quero dizer NULL
.
Depende do que significa "em branco"
NULL
ou a string vazia.Se significa
NULL
, então sim, isso é normal.SELECT 'ab' || NULL ;
retornará nulo.Se isso significa uma string vazia, então não.
SELECT 'ab' || '' ;
vai voltar'ab'
.Para evitar o problema, você pode converter os nulos em uma string vazia com
COALESCE()
:ou use
CONCAT()
ouCONCAT_WS()
funções - que ignoram nulos: