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. x86_64-unknown-linux-gnu 上的 EnterpriseDB 9.2.1.3,由 gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52) 编译,64 位

为什么会有这种不同的行为?

4

1 回答 1

2

检查edb_redwood_strings两台服务器上的参数设置。

查看更多Oracle 兼容配置参数

edb_redwood_strings – 将 NULL 等同于空字符串,以便进行字符串连接操作。对于 Oracle 兼容行为,将 edb_redwood_strings 设置为 TRUE。

SET edb_redwood_strings TO off; -- or on
于 2013-11-22T08:22:26.897 回答