`

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

 

文献出处:http://blog.sina.com.cn/s/blog_5fd47cff0100xy8p.html

分享到:
评论

相关推荐

    Oracle的NLS_DATE_FORMAT设置(日期格式设置)_ITPUB博客.mhtml

    Oracle的NLS_DATE_FORMAT设置(日期格式设置)_ITPUB博客.mhtml

    oracle__汉字排序

    在Oracle中,可以通过设置`NLS_SORT`参数来控制汉字的排序规则。该参数支持三种主要的汉字排序方式:拼音排序、笔画排序和部首排序。 1. **拼音排序**:通过设置`NLS_SORT=SCHINESE_PINYIN_M`来进行拼音排序。 - ...

    oracle10g(nls_charset12.jar)以及oracle11g (orai18n.jar)

    在Oracle 10g和11g版本中,数据库系统提供了丰富的功能和优化,包括对Java应用程序的支持,使得开发者可以通过JDBC(Java Database Connectivity)接口与Oracle数据库进行交互。在给定的压缩包文件中,我们关注的是...

    Oracle客户端 NLS_LANG 的设置方法

    ### Oracle客户端 NLS_LANG 的设置方法 #### 一、NLS_LANG 参数的组成与意义 在Oracle客户端中,`NLS_LANG`是一个重要的环境变量,它用于定义客户端的语言环境设置,包括语言、地域以及字符集等。这对于确保客户端...

    nls_charset12.jar oracle 10

    nls_charset12.jar 之前在csdn上下载的这个文件有问题,导致程序调试了很久 我这边上传这个没有问题

    NLS_LANG切换字符集快捷工具.bat

    快速通过NLS_LANG切换字符集快捷工具设置客户端字符集,避免连接多个不同字符集的数据库导致PL/SQL工具显示乱码的问题。

    nls_charset12.jar

    标题中的"nls_charset12.jar"文件是Oracle数据库的一个关键组件,它与NLS字符集有关。NLS字符集是Oracle用来支持不同语言和地区字符编码的系统,比如ASCII、UTF-8或GBK等。当我们在处理包含多种语言的数据时,这个...

    oracle排序方法拼音,部首,笔画

    本文将详细介绍如何使用Oracle中的“NLS_SORT”功能,实现按照拼音、部首和笔画对中文数据进行排序的方法。 #### 一、Oracle9i中的NLS_SORT属性 Oracle9i及其后续版本提供了多种预定义的排序规则,其中包括针对...

    nls_charset12 ojdbc14

    NLS_CHARSET12指的是Oracle数据库的国家语言支持字符集,NLS(National Language Support)是Oracle数据库提供的一种功能,它允许用户在多种语言和字符集之间进行操作。NLS_CHARSET12可能是特定的字符集代号,如AL32...

    oracle class12.jar nls_charset12.jar存储过程接收数组空值

    首先,`class12.jar`和`nls_charset12.jar`是Oracle数据库的Java存根库,它们包含了与Java编程相关的API,允许Java应用程序与Oracle数据库进行交互。`class12.jar`主要包含了JDBC驱动程序,而`nls_charset12.jar`则...

    oracle-sort-order-by.rar_oracle_sort - order

    如果未指定排序规则,Oracle将使用默认的NLS_SORT设置进行排序。 7. **动态排序** 在开发过程中,可能需要根据用户的需求动态调整排序规则。这可以通过在SQL查询中使用动态SQL或者在PL/SQL存储过程内调整NLS_...

    nls_charset12.jar,ojdbc14.jar

    总结起来,`nls_charset12.jar` 和 `ojdbc14.jar` 是Oracle 10G JDBC连接的基础,它们为Java应用程序提供了与Oracle数据库高效、可靠的通信能力。正确配置和使用这两个驱动文件,可以实现各种复杂的数据库操作,从而...

    设置ORACLE时间格式

    这通常涉及到编辑`HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0`(或者对应Oracle Home的键)下的`NLS_DATE_FORMAT`值。 - 数据库初始化参数文件(init.ora):在Unix/Linux系统上,可以在`init<sid>.ora`文件中添加`...

    nls_cp1251.rar_NLS_translation

    在"nls_cp1251.c"这个压缩包内的文件名称中,我们可以推测这可能是一个C语言编写的源代码文件,它可能包含了实现CP1251与其他字符集转换功能的函数和数据结构。在C编程中,`.c`扩展名通常代表源代码文件,程序员在...

    Oracle_instant_client_10_2

    系统变量:新建 变量名:NLS_LANG 变量:NLS_LANG=AMERICAN_AMERICA.ZHS16GBK 新建 变量名:TNS_ADMIN 变量值:C:\Oracle_instant_client_10_2 path变量后边增加 C:\Oracle_instant_client_10_2; 2、在oracle安装路径...

    ojdbc14.jar nls_charset12.jar orai18n.jar

    oracle关于字符集的jdbc驱动,orai18n.jar nls_charset12.jar 支持集合的驱动程序 将java的集合转换为数据库集合类型 oracle10g及以下版本使用 nls_charset12.jar,以上的版本使用orai18n.jar

    nls_cp852.rar_NLS_translation

    在压缩包中的文件 "nls_cp852.c" 很可能是C语言编写的源代码,包含了实现CP852到其他字符集转换功能的函数和数据结构。这个源文件可能包含以下几个方面的内容: 1. **定义CP852字符集**:源代码会有一个字符数组,...

Global site tag (gtag.js) - Google Analytics