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