使用UTF-8在PostgreSQL中进行排序
PostgreSQL 9.4中的UTF-8数据库有一个有趣的排序问题 我的数据库设置是:使用UTF-8在PostgreSQL中进行排序,utf-8,redhat,postgresql-9.4,Utf 8,Redhat,Postgresql 9.4,PostgreSQL 9.4中的UTF-8数据库有一个有趣的排序问题 我的数据库设置是: Collation en_US.utf8 Character type en_US.utf8 Encoding UTF8 我创建了一个包含一个文本列的简单表: CREATE TABLE testtable ( testfield character varying(333) COLLATE pg_catalog."en_US.utf8" ); 我插入数据: insert into tes
Collation en_US.utf8
Character type en_US.utf8
Encoding UTF8
我创建了一个包含一个文本列的简单表:
CREATE TABLE testtable
(
testfield character varying(333) COLLATE pg_catalog."en_US.utf8"
);
我插入数据:
insert into testtable values('bla,')
insert into testtable values('bla.')
insert into testtable values('bla f')
insert into testtable values('bla, f')
insert into testtable values('blaf.')
我选择已排序的数据:
select * from testtable order by testfield asc
我的订单错了:
'bla,' <--
'bla.'
'bla f'
'bla, f' <--
'blaf.'
这是正确的:
'bla f'
'bla,' <--
'bla, f' <--
'bla.'
'blaf.'
“bla f”
“bla”,您使用的是哪种操作系统?Postgres使用操作系统提供的collation(以及排序)支持。PostgreSQL安装在Linux Red Hat Enterprise Linux Server 6.5版(圣地亚哥)Oracle Linux Server 6.5 OL-6.5.1-64版上
'bla f'
'bla,' <--
'bla, f' <--
'bla.'
'blaf.'