na função concat():
text concat(str "any",...) Concatenate all arguments. NULL arguments are ignored.
Observação:os argumentos NULL são ignorados.
Imagina isto:
Os argumentos de entrada
concat()
são dinâmicos. Então, quando escrevemos:
concat('a',null,null,null,null)
=> escrevemos:concat('a')
(Ao contrário do
||
operador que NULL
destruiu tudo) em || operador:
Então
NULL||NULL
tem uma sintaxe errada Mas por que não dar Error?Porque na operação concat, se não rejeitarmos o NULL (como a função concat), eles vão sobrecarregar tudo
SELECT NULL ||'aaa'||'bbb'||'ccc'||'ddd'
resultado:
NULL
mais informações :