因为数据库中可以设定表的编码格式,不同编码格式下,中文的排序有区别,下面分别介绍常用编码下的排序方法。
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;
参考:
mysql根据汉字首字母排序的方法_mysql 中文首字母排序_马万明的博客-CSDN博客
mysql 中文字段排序( 按拼音首字母排序) 的查询语句 – 加油_张的个人空间 – OSCHINA – 中文开源技术交流社区
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/192730.html