/ / postgresは文字列と連結されたときにnullを空の文字列として扱います-enterprisedb

postgresは、文字列と連結するとnullを空の文字列として扱います - enterprisedb

サーバーの1つで以下のクエリを実行すると

     select null || "query" ,"|",version

結果はnullです何も表示されません

同じバージョンのpostgresqlサーバーを持つ別のサーバーで同じクエリを実行すると

私は次のように結果を得ています

 query

両方のサーバーのpostgresバージョンは

  1. EnterpriseDB 9.2.1.3 on i686-pc-linux-gnu、コンパイル済みgcc(GCC)4.1.2 20080704(Red Hat 4.1.2-52)、32ビット
  2. EnterpriseDB 9.2.1.3 on x86_64-unknown-linux-gnu、コンパイル済みgcc(GCC)4.1.2 20080704(Red Hat 4.1.2-52)、64ビット

なぜこの異なる動作ですか?

回答:

回答№1は2

の設定を確認してください edb_redwood_strings 両方のサーバーのパラメーター。

続きを見る Oracle互換の構成パラメータ

edb_redwood_strings –文字列連結操作の目的で、NULLを空の文字列と同等にします。 Oracleと互換性のある動作の場合は、edb_redwood_stringsをTRUEに設定します。

SET edb_redwood_strings TO off; -- or on