sql >> データベース >  >> RDS >> PostgreSQL

null || nullがnull値を返すのに、concat(null、null)がpostgresで空の文字列を返すのはなぜですか?

    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

    詳細




    1. Oracle データベースからのデータの取得と表示

    2. テーブルの奇数行と偶数行

    3. MySqlコネクタをUnityプロジェクトにインポートするにはどうすればよいですか?

    4. Active Record&Railsを使用して空になることがあるORDERBY列