100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > mysql查询结果排序 name字段有中文名字 有英文名字 如何按a-z的顺序把名字排序

mysql查询结果排序 name字段有中文名字 有英文名字 如何按a-z的顺序把名字排序

时间:2022-12-09 01:23:05

相关推荐

mysql查询结果排序 name字段有中文名字 有英文名字 如何按a-z的顺序把名字排序

后端开发|php教程

php,java,mysql,yii

后端开发-php教程

dns解析源码,vscode提交代码没提示,ubuntu 终端搜索,tomcat单线程,爬虫手机版,ecshop php5,seo优化系统软件开发,dede中英文网站 视频lzw

1、name字段用来存储客户姓名,查询结果需要按姓氏拼音排序,现在有一个问题,

名字既有中文名字,又有英文名字,比如 张三,李四,Jaewon Park,老王

这样查询出来的结果英文名字的人永远排第一

排序我使用的是下面这句

CONVERT(nameUSING gbk ) COLLATE gbk_chinese_ci

H5比邻22大厅源码,Ubuntu 显卡支持差,拼多多爬虫技术,php外快网,zac解密seolzw

如何可以将英文的第一个字母也按照拼音的方式排序呢?

爱家房产网v6.1源码,vscode 调试jsp,ubuntu 终端打不开,tomcat替代,sqlite 密码 长度,域名找不到dns服务器,ai渐变插件,前端ui框架j,c dht爬虫,php百度百科,seo排名快速上升,dz网站制作,星痕帝国2moons网页游戏 月球,网页联系我们模板,html 表单页面,网站后台管理系统模板,java面向对象程序设计 电子版lzw

回复内容:

1、name字段用来存储客户姓名,查询结果需要按姓氏拼音排序,现在有一个问题,

名字既有中文名字,又有英文名字,比如 张三,李四,Jaewon Park,老王

这样查询出来的结果英文名字的人永远排第一

排序我使用的是下面这句

CONVERT(nameUSING gbk ) COLLATE gbk_chinese_ci

如何可以将英文的第一个字母也按照拼音的方式排序呢?

谢邀。

单纯用 mysql 解决,中英文混合还要按照 A-Z 排序,我并没有办法

我的一个小思路是,可以增加一列,把中文转成拼音,然后按照字母排序

新建一列,用来保存 如果是英文 就保存首字母,如果是中文就保存拼音首字母,专门用来排序

至少汉字拼音怎么获得,网上解决方法很多,自己搜一下吧

多加一列,保存对应名字的拼音,这样就很好排序了

`–创建获取汉字首字母的函数

CREATE FUNCTIONFirstPinyin(P_NAME VARCHAR(255)) RETURNS varchar(255) CHARSET utf8

BEGIN

DECLARE V_RETURN VARCHAR(255);SET V_RETURN = ELT(INTERVAL(CONV(HEX(left(CONVERT(P_NAME USING gbk),1)),16,10),0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,0xBFA6,0xC0AC,0xC2E8,0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB, 0xC8F6,0xCBFA,0xCDDA,0xCEF4,0xD1B9,0xD4D1), A,B,C,D,E,F,G,H,J,K,L,M,N,O,P,Q,R,S,T,W,X,Y,); RETURN V_RETURN;

END

–编写查询语句

SELECT * FROM article ORDER BY IFNULL(FirstPinyin(title),substring(title, 1, 1)) ASC`

将中文转拼音,然后在根据首字母排序

推荐中文转拼音来处理 基于词库的中文转拼音优质解决方案

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。