我正在使用 PostgreSQL 16,我的专栏是 en_US.utf8,如下所示:
create table t (a varchar(10) collate "en_US.utf8");
insert into t (a) values ('a'), ('b'),('{a'), ('{b'),
('{a{a'), ('{a{b'), ('{aa'), ('{ab');
然后,如果我按“a”列排序:
select * from t order by a;
我得到:
{a
a
{a{a
{aa
{a{b
{ab
{b
b
我期待“a”在“{a”之前,因为“a”的代码点是97,而“{”的代码点是123。
我需要使用不同的排序规则来进行 Unicode 排序吗?
我的用例使用较长的字符串,但我认为这个简单的示例说明了我遇到的问题。