在做项目中,我们经常遇到一些对中文及英文混合排序的问题,有时束手无策,经过查询,发现了oracle数据库中对汉字跟英文字母进行混合排序的SQL,来一起看看怎么实现:

 user_info 表中 字段 username 里存的即有中文也有英文,如何按照字母顺序进行排序:

看下面sql语句:

select *
from user_info
order by nlssort(translate(lower( substr(username,0,1)),
'abcdefghijklmnopqrstuvwxyz',
'啊八嚓滴娥发噶哈哈几亏拉吗呐偶破七然仨他他哇西呀杂'),
'NLS_SORT=SCHINESE_PINYIN_M');