a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 99|回复: 0

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

[复制链接]
发表于 2012-8-4 13:54:49 | 显示全部楼层 |阅读模式
Oracle9i之前,中文是按照二进制编码进行排序的。在oracle9i中新增了按照拼音、部首、笔画排序功能。     1、设置NLS_SORT参数值1 B- q8 l2 F  X7 G) j1 X+ F
    SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序9 I3 |0 z% u. [# o! B
    SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序
# m! g: i8 Y! x) P    SCHINESE_PINYIN_M 按照拼音排序! `- Q8 Z& V5 m6 p% j) F: g5 H; n
    2、Session级别的设置,修改ORACLE字段的默认排序方式:
* h7 J) N* D0 F  V! @2 g    按拼音:alter session set nls_sort = SCHINESE_PINYIN_M;( B3 o) X+ [/ @. O  h$ X0 x
    按笔画:alter session set nls_sort = SCHINESE_STROKE_M;
, Y2 f. o$ D1 [5 C8 \2 I6 _    按偏旁:alter session set nls_sort = NLS_SORT=SCHINESE_RADICAL_M;% F% J, Q* S' r* j8 Q
    3、语句级别设置排序方式:
5 f5 ?/ T$ e! G- y4 E    按照笔划排序
4 H" _3 x  Z% x    select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_STROKE_M');+ J- Y+ u6 }6 n+ O7 P$ t2 i
    按照部首排序www.ExamW.CoM
0 C- E. b# p- i8 ?    select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_RADICAL_M');
2 D3 t2 ?* n" M3 }. ]    按照拼音排序,此为系统的默认排序方式
' B& C9 |$ U8 u    select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');
$ A5 }8 C1 w3 V# e: t0 w    4、修改系统参数(数据库所在操作系统):
8 G3 y$ S1 j' U5 g    set NLS_SORT=SCHINESE_RADICAL_M ;export NLS_SORT (sh)' Q' q3 s& N4 v0 c8 y/ V) T. h" b
    setenv NLS_SORT SCHINESE_RADICAL_M (csh)
$ |8 m6 c- W. {/ d8 V! ~) R' R6 U. J    HKLC\SOFTWARE\ORACLE\home0\NLS_SORT (win注册表)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 02:55 , Processed in 0.263376 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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