mysql 中将汉字(中文)按照拼音首字母排序
因为数据库中可以设定表的编码格式,不同编码格式下,中文的排序有区别,下面分别介绍常用编码下的排序方法。
1、如果数据表的某字段的字符编码是 utf8_general_ci,排序写法:
ORDER BY CONVERT(表别名.字段名 USING gbk) COLLATE gbk_chinese_ci ASC;
例子
SELECT * FROM mg_clinic mc ORDER BY CONVERT(mc.`CLNAME` USING gbk) COLLATE gbk_chinese_ci ASC;
2、如果数据表的某字段的字符编码是 latin1_swedish_ci,排序写法:
order by birary(表别名.字段名) asc ;
3、如果数据表的某字段的字符编码是 GBK,排序写法:
直接排序就行,因为 GBK 编码本来就是排序汉字首字母进行排序的
order by 表别名.字段名asc;
参考:
https://blog.csdn.net/mawming/article/details/52045771
https://my.oschina.net/u/999578/blog/150392
https://blog.csdn.net/stephenxu111/article/details/4436181
https://blog.csdn.net/w410589502/article/details/58049091
原文链接:
https://www.cnblogs.com/poterliu/p/11596334.html