求一个根据汉子繁体字和英文字母 的首字母按照A-Z的顺序排序汉子和英文是混着的汉字是根据拼音首字母
英文是按照首字母他们要一起按照A-Z排序
oracle
英文是按照首字母他们要一起按照A-Z排序
oracle
解决方案 »
- 小菜请教大侠一个ebs forms的问题
- 存储过程中使用游标,帮我看下为什么会有错
- 在插入一条记录前检查记录的值,不符合条件,则不让插入该记录。
- 安装ORACLE10G到20%的时候报错 大家帮我看看是哪出的问题?
- win7下 按照oracle 11g R2 安装过程中出现enterprice manager配置出错,安装完成后按照网上的方法自己手动配置,出现数据实例不可用
- 一个简单的T-SQL语句,怎么变成相对的PL/SQL语句?
- 请教有经验的牛人们,程序运行一段时间后,提示为:无效的ROWID!
- 触发器支不支持事务?如果不支持怎么写?
- 这样的SQL语句怎么写?
- 如何得到两个日期相减是多少年或多少月????
- [color=#FF0000]【时间问题】在线急等,请大神指教![/color]
- oracle客户端已经安装,但在用EXCEL连接不了
NLS_SORT=SCHINESE_RADICAL_M 按照部首排序
NLS_SORT=SCHINESE_STROKE_M 按照笔画排序
NLS_SORT=SCHINESE_PINYIN_M 按照拼音排序 既然不能将中文转换成英文 那可以将英文的首个字母 转换成对应的中文 再通过给出的中文函数来排序
with t1 as
(
select '我' c1 from dual union all
select '你' c1 from dual union all
select 'what' c1 from dual union all
select '啊' c1 from dual union all
select 'this' c1 from dual union all
select 'b' c1 from dual union all
select 'f' c1 from dual
)select c1
from t1
order by nlssort(translate(lower(c1),'abcdefghjklmnopqrstwxyz','啊八嚓大额发噶哈几卡拉吗呐哦扒七然仨他哇西呀杂'),'NLS_SORT=SCHINESE_PINYIN_M') c1
------------------
1 啊
2 b
3 f
4 你
5 this
6 what
7 我
select * from t1 order by nlssort(c1,'NLS_SORT=SCHINESE_PINYIN_M');上面的排序可以根据自己需求变动 如果想让中文排在前面 那可以将英文首字母 替换成中文尽量偏后的比如: bus 不要想让英文排在前面 可以将bus替换成吧、八之类的 也就是拼音为ba 如果要排在后面 可以替换成簿、布(bu)也就是后面的部分尽量偏后