因為數據庫中可以設定表的編碼格式,不同編碼格式下,中文的排序有區別,下面分別介紹常用編碼下的排序方法。
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