mysql order by按照汉字拼音进行排序

直接对汉字对应的字段使用order by,查询的结果并不按照所预期的按照汉字对应拼音进行排列

出现这个问题的原因是因为MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。

 

解决方法:

修改查询语句:在查询语句的order by部分使用 CONVERT函数。

select * from student u order by CONVERT(u.name USING GBK) asc;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章