最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

PostgreSQL大小写排序问题

来源:动视网 责编:小采 时间:2020-11-09 12:09:41
文档

PostgreSQL大小写排序问题

PostgreSQL大小写排序问题:在PostgreSQL中创建如下表并插入如下数据CREATE TABLE quot;TTTquot; ( ID varchar(32) PRIMARY KEY NOT NULL, NAME varch 在PostgreSQL中创建如下表并插入如下数据 CREATE TABLE TTT ( ID varchar(32) PRIM
推荐度:
导读PostgreSQL大小写排序问题:在PostgreSQL中创建如下表并插入如下数据CREATE TABLE quot;TTTquot; ( ID varchar(32) PRIMARY KEY NOT NULL, NAME varch 在PostgreSQL中创建如下表并插入如下数据 CREATE TABLE TTT ( ID varchar(32) PRIM


在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)

文档

PostgreSQL大小写排序问题

PostgreSQL大小写排序问题:在PostgreSQL中创建如下表并插入如下数据CREATE TABLE quot;TTTquot; ( ID varchar(32) PRIMARY KEY NOT NULL, NAME varch 在PostgreSQL中创建如下表并插入如下数据 CREATE TABLE TTT ( ID varchar(32) PRIM
推荐度:
标签: 大小写 问题 排序
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top