oracle中的nls在哪,Oracle   nls_sort和nlssort 排序功能介绍

(1)ALTER SESSION SET NLS_SORT='';

排序影响整个会话

Oracle9i之前,中文是按照二进制编码进行排序的。

在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值

SCHINESE_RADICAL_M

按照部首(第一顺序)、笔划(第二顺序)排序

SCHINESE_STROKE_M

按照笔划(第一顺序)、部首(第二顺序)排序

SCHINESE_PINYIN_M 按照拼音排序

oracle9i中新增了按照拼音、部首、笔画排序功能

拼音 SELECT * FROM TEAM ORDER BY

NLSSORT(队名,'NLS_SORT = SCHINESE_PINYIN_M')

笔划 SELECT * FROM TEAM ORDER BY

NLSSORT(队名,'NLS_SORT = SCHINESE_STROKE_M')

部首 SELECT * FROM TEAM ORDER BY

NLSSORT(队名,'NLS_SORT = SCHINESE_RADICAL_M')

(2)又如在视图中查询获取道路列表:

sSql = string.Format("select

distinct({0}) from {1} order by

nlssort({0},'NLS_SORT=SCHINESE_PINYIN_M')", sFieldDL, sViewDL);

(3)又如

一个表中的数据是这样的:

PROJECTNO

-----------------------

钦市PC2010-5

钦市PC2011-6

钦市PC2011-40

钦南PC2011-5

钦南GC2011-5

钦市PC2011-5(还有很多)数据前2个字是市区名,后面的是文件名“-”后面的是第几号文件,我想知道如何用SQL语句将他们升序排序,需要先排列市区名,市区名相同了在升序排列后面的文件名,文件名相同了在排列后面的文件编号名。

注意:单单用select projectno from dual order by projectno asc

是不能实现的。

可使用

select projectno from dual order by substring(projectno ,1,2) asc ,substring(projectno ,3,6) asc ,substring(projectno ,9,2) asc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值