`
meiyx
  • 浏览: 183694 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle数据库中文拼音排序问题,NLS_SORT设置

 
阅读更多
Oracle9i之前,中文是按照二进制编码进行排序的。在oracle9i中新增了按照拼音、部首、笔画排序功能。

1、设置NLS_SORT参数值
      SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序
      SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序
      SCHINESE_PINYIN_M 按照拼音排序

2、Session级别的设置,修改ORACLE字段的默认排序方式:
      按拼音:alter session set nls_sort = SCHINESE_PINYIN_M;
      按笔画:alter session set nls_sort = SCHINESE_STROKE_M;
      按偏旁:alter session set nls_sort = NLS_SORT=SCHINESE_RADICAL_M;

3、语句级别设置排序方式:
      按照笔划排序
      select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_STROKE_M');
      按照部首排序
      select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_RADICAL_M');
      按照拼音排序,此为系统的默认排序方式
      select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');

4、修改系统参数(数据库所在操作系统):
      set NLS_SORT=SCHINESE_RADICAL_M ;export NLS_SORT (sh)
       setenv NLS_SORT SCHINESE_RADICAL_M (csh)
      HKLC\SOFTWARE\ORACLE\home0\NLS_SORT (win注册表)

分享到:
评论

相关推荐

    oracle__汉字排序

    通过上述介绍,我们可以看到Oracle数据库提供了多种方式来设置汉字的排序规则,包括拼音排序、笔画排序和部首排序等。这些排序规则的设置不仅可以在会话级别进行,也可以在系统级别进行。对于不同的应用场景,可以...

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

    综上所述,在Oracle数据库中,通过使用`NLS_SORT`参数,可以方便地实现对中文数据按照拼音、部首或笔画进行排序的功能。这对于处理大量中文数据的应用程序来说是非常有用的特性。通过灵活运用这些排序规则,可以显著...

    oracle数据库中汉字排序方法

    3. **SCHINESE_PINYIN_M**:按照汉字拼音排序。 - **特点**:根据汉字的拼音进行排序,支持GBK和UTF-8编码。 - **应用场景**:适用于需要按照现代汉语拼音顺序进行排序的情况。 #### 三、示例代码 下面通过具体...

    oracle数据库汉字首字排序

    在Oracle数据库中,对于汉字排序的需求非常常见,尤其是在需要按照拼音或者笔画等规则进行排序的情况下。Oracle提供了一个强大的函数`NLSSORT()`来实现这种需求。 ##### 1. `NLSSORT()`函数详解 `NLSSORT()`函数...

    oracle汉字转拼音函数整理大全

    在Oracle数据库中,有时需要将汉字转换成拼音,尤其是在处理中文数据时。本篇文档详细介绍了两种用于转换汉字到拼音的自定义函数:`fn_getpyKGJG` 和 `fn_getpyWKG`。这些函数能够满足不同场景下对拼音格式的需求,...

    对Oracle 排序中的几种常用排序的介绍

    1. **按拼音排序**:Oracle支持按照汉字的拼音进行排序,这在处理中文数据时非常有用。可以使用`NLSSORT`函数配合`NLS_SORT`参数来实现。例如,以下语句会按照汉语拼音对`danwei`字段进行升序排序: ```sql select...

    oracle指定排序的方法详解

     1、设置NLS_SORT参数值 SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序 SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序 SCHINESE_PINYIN_M 按照拼音排序  2、Session级别的...

    oracle姓名中文转全拼函数

    Oracle姓名中文转全拼函数是解决在Oracle数据库中处理中文姓名时的一个常见需求,特别是考虑到汉字的多样性和复杂性,包括生僻字和多音字的处理。此函数旨在将中文姓名转换为全拼,方便进一步的数据处理或搜索。下面...

    Oracle 中文字段进行排序的sql语句

    在Oracle数据库中,对包含中文字符的字段进行排序是一项常见的操作。这有助于用户根据特定的规则(如笔画、部首或拼音)查看和管理数据。以下是对标题和描述中提及的三种排序方式的详细解释: 1)按笔画排序: 在...

    Oracle数据库10g-支持全球化特性的平台-Powe.pptx

    字符集扫描程序和语言索引则优化了对中文数据的处理,包括简体和繁体中文的转换,以及多种中文排序方式,如笔画、拼音、部首和二进制排序。 Oracle 10g的全球化特性还包括不区分大小写的查询和排序功能。这使得用户...

    sql 按拼音首字母排序

    NLSSORT是Oracle数据库中的内置函数,用于支持多语言排序,通过设置不同的排序规则,可以满足不同语言环境下的排序需求。 #### `F_PINYIN`函数工作流程 1. **初始化变量**:`V_COMPARE`用于存储当前字符的拼音编码...

    oracle排序

    在 Oracle 中,可以使用 NLSSORT 函数对数据进行拼音排序。例如,以下语句将对 perexl 表中的数据按照 danwei 列的拼音进行排序: SELECT * FROM perexl ORDER BY NLSSORT(danwei, 'NLS_SORT=SCHINESE_PINYIN_M'); ...

    Oracle汉字拼音首字母函数

    `NLSSORT`函数可以按照指定的语言环境对字符串进行排序,这里通过设置参数`'NLS_SORT=SCHINESE_PINYIN_M'`,可以使得每个汉字被转换为其拼音并按拼音排序。通过这种方式,我们可以在内部逻辑中比较不同汉字的拼音值...

    oracl几个函数

    根据给定的文件信息,我们可以总结出以下几个关键的Oracle数据库中的知识点: ### 1. Oracle登录方式 在Oracle中,登录有两种主要的方式:对于11g版本,使用`Sqlplus`进行登录,命令行中输入`sqlplus / as sysdba`...

    EasyUI Datagrid 中文排序的问题

    1. **Oracle数据库**: Oracle 提供了 `NLSSORT` 函数来进行多语言排序。为了实现中文排序,可以使用如下 SQL 语句: ```sql SELECT * FROM table WHERE 1=1 ORDER BY NLSSORT(t_.NAME, 'NLS_SORT=SCHINESE_...

    ORACLE常用函数总结

    Oracle数据库系统中包含众多函数,这些函数用于处理各种数据类型,包括字符串、数值以及日期等。本篇将重点介绍在SQL查询和PL/SQL编程中常用的Oracle字符函数,它们可以帮助我们进行数据的处理和分析。 1. ASCII(n)...

    oracle字符函数.pdf

    例如,`NLS_LOWER('ABC')`返回'abc',而`NLS_LOWER('ABC', 'nls_sort=CHINESE_PINYIN_M')`可能会基于拼音将中文字符转换为小写。 12. NLSSORT(col, [nls_param])函数:此函数用于根据指定的NLS参数对字符串col进行...

    oracle函数大全

    - 按拼音排序: ```sql SELECT * FROM 表名 ORDER BY NLSSORT(字段名, 'NLS_SORT=SCHINESE_PINYIN_M'); ``` - 按笔画排序: ```sql SELECT * FROM 表名 ORDER BY NLSSORT(字段名, 'NLS_SORT=SCHINESE_STROKE_...

Global site tag (gtag.js) - Google Analytics