Mysql、Oracle 中将汉字(中文)按照拼音首字母排序
Mysql 将汉字(中文)按照拼音首字母排序
ORDER BY CONVERT(表别名.字段名 USING gbk) COLLATE gbk_chinese_ci ASC;
例子
select * from ( select '嘉实资产' a, '000830' b union select '中金鼎益稳健3号单一资产管理计划' a, '002544' b union select 'xx' a, '002281' b union select '嘉实资产' a, '300287' b union select '中金鼎益稳健3号单一资产管理计划' a, '000977' b union select 'xx' a, 'FG909 ' b union select '徐州矿务集团有限公司企业年金中金组合' a, '000541 ' b union select '徐州矿务集团有限公司企业年金中金组合' a, '005541 ' b ) t order by CONVERT(t.a USING gbk) COLLATE gbk_chinese_ci ASC,t.b
查询结果
Oracle 将汉字(中文)按照拼音首字母排序
ORDER BY nlssort(表别名.字段名, 'NLS_SORT=SCHINESE_PINYIN_M')
例子
select * from ( select '嘉实资产' a, '000830' b from dual union select '中金鼎益稳健3号单一资产管理计划' a, '002544' b from dual union select 'xx' a, '002281' b from dual union select '嘉实资产' a, '300287' b from dual union select '中金鼎益稳健3号单一资产管理计划' a, '000977' b from dual union select 'xx' a, 'FG909 ' b from dual union select '徐州矿务集团有限公司企业年金中金组合' a, '000541 ' b from dual union select '徐州矿务集团有限公司企业年金中金组合' a, '005541 ' b from dual ) t order by nlssort(t.a, 'NLS_SORT=SCHINESE_PINYIN_M'),t.b
查询结果