a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 100|回复: 0

[综合] oracle中文排序方法介绍

[复制链接]
发表于 2012-8-4 13:54:49 | 显示全部楼层 |阅读模式
Oracle9i之前,中文是按照二进制编码进行排序的。在oracle9i中新增了按照拼音、部首、笔画排序功能。     1、设置NLS_SORT参数值2 t) @6 D% W" E( N6 N- q
    SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序* X. p7 X5 `7 |; u3 d- E, i
    SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序& B: N5 n' ~) h3 P
    SCHINESE_PINYIN_M 按照拼音排序
% R8 A! F; L9 a+ }8 Z3 R1 {    2、Session级别的设置,修改ORACLE字段的默认排序方式:
4 S& p+ z5 _4 L0 p    按拼音:alter session set nls_sort = SCHINESE_PINYIN_M;! W" b. |* C8 s; E1 V3 P
    按笔画:alter session set nls_sort = SCHINESE_STROKE_M;
, u3 d7 V8 K$ [& }    按偏旁:alter session set nls_sort = NLS_SORT=SCHINESE_RADICAL_M;* n7 `/ {/ e! B4 l( ~1 M" [
    3、语句级别设置排序方式:3 @4 H: b: y  D! I) z, z+ U0 ?
    按照笔划排序8 J7 Z+ v6 w1 h
    select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_STROKE_M');
" D1 i& L- ^. z* J3 X    按照部首排序www.ExamW.CoM+ B7 l1 g% |& z  c' L1 j, n5 E
    select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_RADICAL_M');
0 A  h& y1 Z. }$ h0 r    按照拼音排序,此为系统的默认排序方式; k0 ~* z& ^0 c$ h1 P8 X( B% d
    select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');# B7 |$ u6 [$ B  r
    4、修改系统参数(数据库所在操作系统):$ N5 S1 i& W# ^3 r# g8 h7 M
    set NLS_SORT=SCHINESE_RADICAL_M ;export NLS_SORT (sh)
3 q- ^9 h. C: \' [    setenv NLS_SORT SCHINESE_RADICAL_M (csh)1 r( x! G# ^* C1 N# u' l+ f
    HKLC\SOFTWARE\ORACLE\home0\NLS_SORT (win注册表)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-17 17:23 , Processed in 0.230168 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表