我尝试从普及中迁移到postgres。普遍存在类似'upper.alt'的东西 - 替代整理。我真的不知道它是如何工作的,但我必须让我的新postgres数据库表现得像这种整理一样普遍。
我使用Postgres 9.2.4和utf-8编码以及LC_COLLATE='Polish_Poland.1250'
。
答案 0 :(得分:1)
您可以尝试使用COLLATE“C”进行订购。这将在你的例子中得到你想要的。虽然它有副作用!实际上,所有内容都是根据编码字符的字节值排序的。
WITH x(col) AS (
VALUES
('ABC_AAAAA')
,('ABC_BBBBB')
,('ABC_ZZZZZ')
,('ABCAAAAA')
,('ABCBBBBB')
,('ABCZZZZZ')
)
SELECT *
FROM x
ORDER BY col COLLATE "C"
Postgres 9.1引入了此选项来更改单个表达式的排序规则(与使用数据库创建时定义的排序规则相对)。 More about collation in the manual here