您的位置:首页 > 数据库 > Oracle

Oracle汉字排序

2010-04-16 21:28 134 查看
使用一下SQL


select *


from T_0303003


order by stock_holder
进行选取数据时(stock_holder为存放中文的字段),结果发现两库返回的记录顺序不一致。琢磨之后应该为字符集问题,一个库字符集为系统默认字符集,另一个库为UTF-8字符集。查找资料后发现,对于中文字段的排序,应该使用以下方式:


-- 按拼音排序 (系统默认)


select *


from T_0303003


order by nlssort(stock_holder,'NLS_SORT=SCHINESE_PINYIN_M');




-- 按部首排序


select *


from T_0303003


order by nlssort(stock_holder,'NLS_SORT=SCHINESE_RADICAL_M');




-- 按笔画排序


select *


from T_0303003


order by nlssort(stock_holder,'NLS_SORT=SCHINESE_STROKE_M');
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: