您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 广安分类信息网,免费分类信息发布

PostgreSQL大小写排序问题

2025/1/10 21:29:16发布7次查看
在postgresql中创建如下表并插入如下数据create table quot;tttquot; ( id varchar(32) primary key not null, name varch
在postgresql中创建如下表并插入如下数据
create table ttt (
   id varchar(32) primary key not null,
   name varchar(128) not null
);
create unique index ttt_name_idx on ttt(name);
insert into ttt values('1' , 'a');
insert into ttt values('2' , 'a');
insert into ttt values('3' , 'b');
insert into ttt values('4' , 'b');
此时如果执行
select * from ttt order by name;
将会得到以下结果
 id | name
----------+------------
 2  | a
 1  | a
 4  | b
 3  | b
(4 rows)
这里我们期望name的排序是先按大写字母排序,然后再按照小写字母排序。
查了一下资料,可以通过如下操作来解决以上排序问题
1. 首先备份数据库配置文件和数据文件(最好导出数据),默认情况下就是/var/lib/pgsql/data目录下所有东东
2. $ sudo /etc/init.d/postgresql stop
3. $ sudo su - postgres
   # initdb --lc-collate=c
4. $ sudo /etc/init.d/postgresql start
5. 再次执行以下查询
select * from ttt order by name;
结果如下:
 id | name
----+------
 1  | a
 3  | b
 2  | a
 4  | b
(4 rows)

广安分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录