pg中replace和translate的用法(数据少的中文排序)

1.首先创建students表

CREATE TABLE students
(
  id integer NOT NULL,
  name character varying(255),
  sex character varying(255),
  class character varying(255),
  "like" character varying(255),
  school character varying(255),
  phone character varying(255)
)

2.插入数据

INSERT INTO "public"."students" ("id", "name", "sex", "class", "like", "school", "phone") 
VALUES ('1', '大猫', '女', '一年级', '绘画', '第三小学', '2345');

INSERT INTO "public"."students" ("id", "name", "sex", "class", "like", "school", "phone") 
VALUES ('2', '小厌', '男', '三年级', '书法', '第四小学', '2346');

INSERT INTO "public"."students" ("id", "name", "sex", "class", "like", "school", "phone") 
VALUES ('3', '库库', '女', '二年级', '绘画', '第三小学', '2342');

INSERT INTO "public"."students" ("id", "name", "sex", "class", "like", "school", "phone") 
VALUES ('4', '艾琳', '女', '四年级', '书法,钢琴', '第四小学', '2349');

结果:

select * from students

如下图:
这里写图片描述

3.replace 的用法

replace(string text, from text, to text)
返回类型:text
解释:把字串string里出现地所有子字串from替换成子字串to

示例1:

select replace('一条黑色的狗','黑','黑白相间')

结果:一条黑色的狗 变成了 一条黑白相间色的狗
如下图:

这里写图片描述

示例2:

update students set name=replace(name,'大猫','小猫咪的姐姐')

结果:name为 ‘大猫’的这条数据name=’小猫咪的姐姐’

这里写图片描述

示例3:

select * from students where school='第四小学'  ORDER BY replace(name,'艾琳','1')

结果:
这里写图片描述

4.translate的用法

translate(string text, from text, to text)
返回类型:text
解释:把在string中包含的任何匹配from中的字符的字符转化为对应的在to中的字符。

示例1:

select translate('她真是好看', '好看','漂亮')

结果:
这里写图片描述

示例2:

select * from students where phone like '2%' 
ORDER BY translate(class, '一二三四','1234')

结果:

这里写图片描述

示例3:

select * from students where phone like '2%' 
 ORDER BY translate(name, '库小厌猫咪艾','1234')

结果
这里写图片描述

结论:有了translate再也不担心中文排序问题了(数据比较少的情况)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值