在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)
总结以上是内存溢出为你收集整理的PostgreSQL大小写排序问题全部内容,希望文章能够帮你解决PostgreSQL大小写排序问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)