Total Pageviews

Friday 12 October 2012

MySQL按汉字拼音排序显示

MySQL使用latin1为默认字符集,也就是说,对汉字字段直接使用GBK内码的编码进行存储,当需要对一些有汉字的字段进行拼音排序时(特别涉及到类似于名字这样的字段时),默认无法通过order by关键字正确排序,最近工作中涉及到这方面的需求(按产品的名称拼音来排序),经过网上查找,网上的办法大多是针对使用utf8字符集的数据库,主要的方法就是直接转换字段为gbk,果然不错,记录下来留个记号:具体语法是这样的

SELECT * FROM tableName ORDER BY CONVERT(你的字段名 USING gbk);

这样就可以实现拼音排序了。