【发布时间】:2015-09-21 22:20:24
【问题描述】:
我有一个名为 names 的表,其中包含数据库条目 Rm、RM、Rnash、Rmash。此外,我正在使用 PostgreSQL 9.1 和 Oracle 11。
在 Oracle 中如下查询
select *
from names
where name > 'Rm'
返回 Rnash、Rmash。但是在 PostgreSQL 中,相同的查询返回 RM。 RM中M的ASCII值小于Rm中的m。
问题一:PostgreSQL 查询为什么返回RM? Oracle 和 PostgreSQL 都是区分大小写的数据库。
我的猜测是这可能是由于 PostgreSQL 中的 COLLATE 不匹配造成的。
问题 2:如何找到与 PostgreSQL 和 Oracle 相关的 COLLATE 信息?
问题 3:如何使 PostgreSQL 查询的输出与 Oracle 的输出相同?
感谢您提前提供的帮助。
【问题讨论】:
-
@rbaleksandar 编辑中的所有粗体字是怎么回事?这不是很有帮助。
-
如果您愿意,您可以将其反转。大多数情况下,它只是替换以前使用但不那么可见的引号。我已经强调了基本术语。每个句子都包含“Rm”、“M”或类似词,这不是我的错。 :D 现在您只需(主要)查看粗体文本即可获得重要信息。
标签: oracle postgresql collation