直接對漢字對應的字段使用order by,查詢的結果並不按照所預期的按照漢字對應拼音進行排列
出現這個問題的原因是因爲MySQL在查詢字符串時是大小寫不敏感的,在編繹MySQL時一般以ISO-8859字符集作爲默認的字符集,因此在比較過程中中文編碼字符大小寫轉換造成了這種現象。
解決方法:
修改查詢語句:在查詢語句的order by
部分使用 CONVERT
函數。
select * from student u order by CONVERT(u.name USING GBK) asc;