zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

MySQL排序技巧:从汉字拼音排列起(mysql汉字拼音排序)

mysql排序 技巧 汉字 排列 拼音
2023-06-13 09:16:59 时间

MySQL排序是指对成组的数据行(或关联的表)按指定的列(或列)进行排序的过程。在很多软件应用中,特别是民间文字资料编码中,MySQL排序技巧一般用于从汉字拼音排列起,可以大大提高工作效率。

MySQL将字母、汉字、数字排序出来时通常是区分大小写的,而汉字拼音却无此区分,这就造成一个问题,即对返回的结果排序时,汉子必须以类似“aa,ab,ac ba,bb,bc ”的模式排列,而不能像字母拼写一般写在一起。于是,又引出了排序技巧的问题。

MySQL排序技巧大致有两种,一种是对汉字拼音进行“全拼排序”,一种是进行“简拼排序”。

全拼排序的基本思想是使用MySQL的order by语句进行全拼排序,那么如何实现呢?我们需要用到MySQL自带的函数 CONCAT_WS() , CONCAT_WS()函数用于合并字符串各列,其语法为CONCAT_WS(separator, str_1, str_2,···),separator 表示连接字符串操作中使用的分隔符;str_1, str_2,···表示要连接的字符串,多个字符串逗号分割。 例如:

SELECT CONCAT_WS( - , hello , world )

则结果为: hello-world

同时,要在order by子句中加上该函数结果:

select chinese_word from table order by CONCAT_WS( ,first_spell,second_spell,third_spell);

上述语句就是进行全拼排序的技巧啦~

简拼排序的原理和全拼排序类似,不同的是简拼排序是只取汉字的首个拼音字母就可以了,代码如下:

select chinese_word from table order by first_spell

综上所述,MySQL排序技巧既可以将汉字拼音进行全拼排序,也可以进行简拼排序,这样可以大大提高汉字的排序效率和准确性。


我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题

本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 MySQL排序技巧:从汉字拼音排列起(mysql汉字拼音排序)