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
查询结果
![]()