使用一下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');
本文详细解释了在SQL中处理中文字段排序时遇到的问题及解决方案,包括拼音、部首和笔画排序方法。
7968

被折叠的 条评论
为什么被折叠?



