`
- 浏览:
183696 次
- 性别:
- 来自:
北京
-
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注册表)
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
通过上述介绍,我们可以看到Oracle数据库提供了多种方式来设置汉字的排序规则,包括拼音排序、笔画排序和部首排序等。这些排序规则的设置不仅可以在会话级别进行,也可以在系统级别进行。对于不同的应用场景,可以...
综上所述,在Oracle数据库中,通过使用`NLS_SORT`参数,可以方便地实现对中文数据按照拼音、部首或笔画进行排序的功能。这对于处理大量中文数据的应用程序来说是非常有用的特性。通过灵活运用这些排序规则,可以显著...
3. **SCHINESE_PINYIN_M**:按照汉字拼音排序。 - **特点**:根据汉字的拼音进行排序,支持GBK和UTF-8编码。 - **应用场景**:适用于需要按照现代汉语拼音顺序进行排序的情况。 #### 三、示例代码 下面通过具体...
在Oracle数据库中,对于汉字排序的需求非常常见,尤其是在需要按照拼音或者笔画等规则进行排序的情况下。Oracle提供了一个强大的函数`NLSSORT()`来实现这种需求。 ##### 1. `NLSSORT()`函数详解 `NLSSORT()`函数...
在Oracle数据库中,有时需要将汉字转换成拼音,尤其是在处理中文数据时。本篇文档详细介绍了两种用于转换汉字到拼音的自定义函数:`fn_getpyKGJG` 和 `fn_getpyWKG`。这些函数能够满足不同场景下对拼音格式的需求,...
1. **按拼音排序**:Oracle支持按照汉字的拼音进行排序,这在处理中文数据时非常有用。可以使用`NLSSORT`函数配合`NLS_SORT`参数来实现。例如,以下语句会按照汉语拼音对`danwei`字段进行升序排序: ```sql select...
1、设置NLS_SORT参数值 SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序 SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序 SCHINESE_PINYIN_M 按照拼音排序 2、Session级别的...
Oracle姓名中文转全拼函数是解决在Oracle数据库中处理中文姓名时的一个常见需求,特别是考虑到汉字的多样性和复杂性,包括生僻字和多音字的处理。此函数旨在将中文姓名转换为全拼,方便进一步的数据处理或搜索。下面...
在Oracle数据库中,对包含中文字符的字段进行排序是一项常见的操作。这有助于用户根据特定的规则(如笔画、部首或拼音)查看和管理数据。以下是对标题和描述中提及的三种排序方式的详细解释: 1)按笔画排序: 在...
字符集扫描程序和语言索引则优化了对中文数据的处理,包括简体和繁体中文的转换,以及多种中文排序方式,如笔画、拼音、部首和二进制排序。 Oracle 10g的全球化特性还包括不区分大小写的查询和排序功能。这使得用户...
NLSSORT是Oracle数据库中的内置函数,用于支持多语言排序,通过设置不同的排序规则,可以满足不同语言环境下的排序需求。 #### `F_PINYIN`函数工作流程 1. **初始化变量**:`V_COMPARE`用于存储当前字符的拼音编码...
在 Oracle 中,可以使用 NLSSORT 函数对数据进行拼音排序。例如,以下语句将对 perexl 表中的数据按照 danwei 列的拼音进行排序: SELECT * FROM perexl ORDER BY NLSSORT(danwei, 'NLS_SORT=SCHINESE_PINYIN_M'); ...
`NLSSORT`函数可以按照指定的语言环境对字符串进行排序,这里通过设置参数`'NLS_SORT=SCHINESE_PINYIN_M'`,可以使得每个汉字被转换为其拼音并按拼音排序。通过这种方式,我们可以在内部逻辑中比较不同汉字的拼音值...
根据给定的文件信息,我们可以总结出以下几个关键的Oracle数据库中的知识点: ### 1. Oracle登录方式 在Oracle中,登录有两种主要的方式:对于11g版本,使用`Sqlplus`进行登录,命令行中输入`sqlplus / as sysdba`...
1. **Oracle数据库**: Oracle 提供了 `NLSSORT` 函数来进行多语言排序。为了实现中文排序,可以使用如下 SQL 语句: ```sql SELECT * FROM table WHERE 1=1 ORDER BY NLSSORT(t_.NAME, 'NLS_SORT=SCHINESE_...
Oracle数据库系统中包含众多函数,这些函数用于处理各种数据类型,包括字符串、数值以及日期等。本篇将重点介绍在SQL查询和PL/SQL编程中常用的Oracle字符函数,它们可以帮助我们进行数据的处理和分析。 1. ASCII(n)...
例如,`NLS_LOWER('ABC')`返回'abc',而`NLS_LOWER('ABC', 'nls_sort=CHINESE_PINYIN_M')`可能会基于拼音将中文字符转换为小写。 12. NLSSORT(col, [nls_param])函数:此函数用于根据指定的NLS参数对字符串col进行...
- 按拼音排序: ```sql SELECT * FROM 表名 ORDER BY NLSSORT(字段名, 'NLS_SORT=SCHINESE_PINYIN_M'); ``` - 按笔画排序: ```sql SELECT * FROM 表名 ORDER BY NLSSORT(字段名, 'NLS_SORT=SCHINESE_STROKE_...