PostgreSQL大小寫排序問題 |
發(fā)布時(shí)間: 2012/9/16 14:32:32 |
在PostgreSQL中創(chuàng)建如下表并插入如下數(shù)據(jù) 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('2' , 'a'); insert into "TTT" values('3' , 'B'); insert into "TTT" values('4' , 'b'); 此時(shí)如果執(zhí)行 select * from "TTT" order by NAME; 將會(huì)得到以下結(jié)果 id | name ----------+------------ 2 | a 1 | A 4 | b 3 | B (4 rows) 這里我們期望name的排序是先按大寫字母排序,然后再按照小寫字母排序。
查了一下資料,可以通過如下操作來解決以上排序問題 1. 首先備份數(shù)據(jù)庫(kù)配置文件和數(shù)據(jù)文件(最好導(dǎo)出數(shù)據(jù)),默認(rèn)情況下就是/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. 再次執(zhí)行以下查詢 select * from "TTT" order by NAME; 結(jié)果如下: id | name ----+------ 1 | A 3 | B 2 | a 4 | b (4 rows)
本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |