在oracle 9i之前,对中文的排序,是默认按2进制编码来进行排序的. 9i时增加了几种新的选择:
1.按中文拼音进行排序:SCHINESE_PINYIN_M
2.按中文部首进行排序:SCHINESE_RADICAL_M
3.按中文笔画进行排序:SCHINESE_STROKE_M
而oracle 9i是对中文的排序是默认按拼音排序(并不是指NLS_SORT = SCHINESE_PINYIN_M,而是说SQL中不指定NLS_SORT时对中文列排序时默认按拼音)的,跟之前的2进制编码排序有所不同.具体用法如下:
1.直接写在sql中,例如:
1.SELECT * FROM TEAM ORDER BY NLSSORT(排序字段名,'NLS_SORT = SCHINESE_PINYIN_M');
2.SELECT * FROM TEAM ORDER BY NLSSORT(排序字段名,'NLS_SORT = SCHINESE_STROKE_M');
3.SELECT * FROM TEAM ORDER BY NLSSORT(排序字段名,'NLS_SORT = SCHINESE_RADICAL_M');
2.配置在初始化参数NLS_SORT中,这可以在数据库创建时指定,也可以通过alter session来修改.如果是前者,则在所有session中生效.例如: 1.使用select * from NLS_SESSION_PARAMETERS;语句可以看到NLS_SORT的值.
2.更改配置文件:alter system set nls_sort='SCHINESE_PINYIN_M' scope=spfile;
3.更改session:alter SESSION set NLS_SORT = SCHINESE_PINYIN_M;
这里要额外注意一下性能问题,按oracle官方文档的解释,oracle在对中文列建立索引时,是按照2进制编码进行排序的,所以如果NLS_SORT被设置为BINARY时,排序则可以利用索引.如果不是2进制排序,而是使用上面介绍的3种针对中文的特殊排序,则oracle无法使用索引,会进行全表扫描.这点一定要注意,多用plsql工具比较一下执行效率.解决方法是,在此列上建立linguistic index.例如:CREATE INDEX nls_index ON my_table (NLSSORT(name, 'NLS_SORT = SCHINESE_PINYIN_M'));
分享到:
相关推荐
### Oracle数据库中汉字排序方法 在Oracle数据库中处理中文数据时,经常需要对包含中文字符的数据表...通过以上内容的学习与实践,我们可以有效地在Oracle数据库中实现汉字排序功能,从而更好地管理和利用中文数据。
本文将围绕Oracle数据库中的汉字排序功能进行深入探讨,特别是Oracle 9i版本及其之后版本中关于汉字排序的具体实现方式。 #### 二、Oracle 汉字排序方式 在Oracle中,可以通过设置`NLS_SORT`参数来控制汉字的排序...
本文将详细介绍如何使用Oracle中的“NLS_SORT”功能,实现按照拼音、部首和笔画对中文数据进行排序的方法。 #### 一、Oracle9i中的NLS_SORT属性 Oracle9i及其后续版本提供了多种预定义的排序规则,其中包括针对...
Oracle 中对中文字段进行排序.txt
1. **按拼音排序**:Oracle支持按照汉字的拼音进行排序,这在处理中文数据时非常有用。可以使用`NLSSORT`函数配合`NLS_SORT`参数来实现。例如,以下语句会按照汉语拼音对`danwei`字段进行升序排序: ```sql select...
Oracle9i之前,中文是按照二进制编码进行排序的。在oracle9i中新增了按照拼音、部首、笔画排序功能。 1、设置NLS_SORT参数值 SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序 SCHINESE_STROKE_M ...
在Oracle数据库中,有时需要将汉字转换成拼音,尤其是在处理中文数据时。本篇文档详细介绍了两种用于转换汉字到拼音的自定义函数:`fn_getpyKGJG` 和 `fn_getpyWKG`。这些函数能够满足不同场景下对拼音格式的需求,...
给定的代码片段展示了如何在Oracle数据库中创建一个名为`ZLSPELLCODE`的函数,用于获取汉字字符串的拼音简码。该函数接受两个参数:`v_InstrInVarchar2`表示输入的汉字字符串,`v_OutNumInInteger`则是一个可选参数...
在Oracle数据库中,对中文字段进行排序是一项常见的需求,特别是在处理中文字符的数据时。Oracle提供了多种方式来实现中文字段的排序,包括按照笔画、部首以及拼音。下面将详细阐述这些方法及其背后的原理。 首先,...
本文将详细介绍如何解决EasyUI Datagrid中的中文排序问题,并分别从前端和后端两个角度给出具体的实现方案。 #### 二、EasyUI Datagrid简介 EasyUI 是一个基于 jQuery 的简单而强大的 UI 库,它提供了大量的用户...
#### 一、Oracle数据库中的汉字排序 在Oracle数据库中,对于汉字排序的需求非常常见,尤其是在需要按照拼音或者笔画等规则进行排序的情况下。Oracle提供了一个强大的函数`NLSSORT()`来实现这种需求。 ##### 1. `...
对于"简体中文语言包",这表明Toad for Oracle 12.8版本已经本地化为中文,使得中国用户在使用时无需面对英文界面的困扰,大大降低了学习和使用的难度。对于那些不熟悉英文的数据库管理人员和开发者来说,这是一个...
Oracle姓名中文转全拼函数是解决在Oracle数据库中处理中文姓名时的一个常见需求,特别是考虑到汉字的多样性和复杂性,包括生僻字和多音字的处理。此函数旨在将中文姓名转换为全拼,方便进一步的数据处理或搜索。下面...
总结,Toad for Oracle中文版为中国的Oracle用户提供了友好的使用环境,无论是日常的数据库管理,还是复杂的性能调优,都能提供有力的支持。通过熟悉并掌握上述功能,你将能更好地利用Toad提升数据库管理工作效率。
在Oracle数据库环境中,有时我们需要对汉字字段进行处理,例如转换为拼音,以便于搜索、排序或者与其他系统集成。"ORACLE汉字转拼音"这个主题就聚焦于如何在Oracle数据库中实现这一功能。以下是对这个知识点的详细...
根据提供的文件信息,本文将详细解释如何在Oracle数据库中实现汉字到拼音的转换,并通过具体的代码实例进行说明。 ### Oracle数据库中的汉字转拼音 #### 背景介绍 在处理包含中文字符的数据时,有时我们需要将汉字...
总的来说,"Oracle中文转拼音工具包"提供了一种有效的方法,帮助开发者在Oracle数据库环境中处理中文字符,将它们转化为拼音形式,从而扩展了数据库的功能,使其能够更好地应对中文数据的处理挑战。正确理解和使用这...
在Oracle数据库环境中,有时我们需要对汉字进行处理,例如获取汉字的拼音或首字母,这在中文数据检索、排序或建立索引时非常有用。本文将详细介绍如何使用PL/SQL存储过程来实现这一功能。 首先,我们需要理解Oracle...
在Oracle数据库中实现获取汉字拼音首字母的需求,通常涉及到对中文字符的处理以及拼音转换的技术。这样的功能可以应用于多种场景,例如数据排序、索引建立或是快速检索等。本文将详细介绍如何在Oracle环境中实现这一...
在.NET开发环境中,使用C#语言与Oracle数据库进行交互是一种常见的需求。Oracle.ManagedDataAccess是Oracle公司提供的一个客户端库,专门用于C#等.NET语言的Oracle数据库连接和操作。这个库是完全托管的,无需依赖...