във функцията concat():
text concat(str "any",...) Concatenate all arguments. NULL arguments are ignored.
Забележка:NULL аргументите се игнорират.
Представете си това:
Входните аргументи concat()
са динамични.
Така че, когато пишем:concat('a',null,null,null,null)
=> ние сме написали:concat('a')
(За разлика от ||
оператор, че NULL
унищожи всичко)
в || оператор:
Така че NULL||NULL
има грешен синтаксис
Но защо да не дадем грешка? Защото в операцията concat, ако не отхвърлим NULL (като функцията concat), те ще затрупат всичко
SELECT NULL ||'aaa'||'bbb'||'ccc'||'ddd'
изход:
NULL