在实际开发中,有时会遇到需要根据人的姓名进行排序的场景,最常见的是按中文转成拼音后的字母顺序排序,本文介绍如何通过数据库实现该排序功能。
MySQL的写法
1 | ORDER BY CONVERT(表别名.字段名 USING gbk) COLLATE gbk_chinese_ci ASC |
示例
1 | select * from ( |
查询结果
Oracle的写法
1 | ORDER BY nlssort(表别名.字段名, 'NLS_SORT=SCHINESE_PINYIN_M') |
示例
1 | select * from ( |
查询结果