`
poson
  • 浏览: 361683 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Oracle排序的编码问题

阅读更多

 

Oracle9i之前,中文是按照二进制编码进行排序的。在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值 SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序 SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序 SCHINESE_PINYIN_M 按照拼音排序,系统的默认排序方式为拼音排序

NLS_SORTProperty Description Parameter type String Syntax NLS_SORT = { BINARY | linguistic_definition } Default value Derived from NLS_LANGUAGE Modifiable ALTER SESSION Range of values BINARY or any valid linguistic definition name

NLS_SORT specifies the collating sequence for ORDER BY queries.

If the value is BINARY, then the collating sequence for ORDER BY queries is based on the numeric value of characters (a binary sort that requires less system overhead).

If the value is a named linguistic sort, sorting is based on the order of the defined linguistic sort. Most (but not all) languages supported by the NLS_LANGUAGE parameter also support a linguistic sort with the same name.

Note:

Setting NLS_SORT to anything other than BINARY causes a sort to use a full table scan, regardless of the path chosen by the optimizer. BINARY is the exception because indexes are built according to a binary order of keys. Thus the optimizer can use an index to satisfy the ORDER BY clause when NLS_SORT is set to BINARY. If NLS_SORT is set to any linguistic sort, the optimizer must include a full table scan and a full sort in the execution plan. You must use the NLS_SORT operator with comparison operations if you want the linguistic sort behavior.

分享到:
评论

相关推荐

    Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出

    在描述中提到的问题中,当使用`ORDER BY`对包含非唯一值的列进行排序,并结合分页查询时,发现不同页码的数据可能会有重复。这进一步证实了`ORDER BY`在Oracle中的不稳定特性。在没有唯一索引或主键约束的情况下,...

    oracle数据库中汉字排序方法

    1. **字符集问题**:在使用`SCHINESE_PINYIN_M`排序时需要注意数据库的字符集设置。如果数据库字符集为GBK,则可以直接使用该排序规则;如果是UTF-8,则需要确保数据库配置支持UTF-8编码。 2. **性能考量**:不同...

    解决Oracle中文乱码.pdf

    解决 Oracle 中文乱码 一、什么是 Oracle 字符集 Oracle 字符集是一个字节数据的解释的符号集合, ...本文对 Oracle 字符集的概念、种类和查询方法进行了详细的介绍,并对 Oracle 字符集乱码问题进行了分析和解决。

    Oracle客户端PL/SQL 中文乱码解决

    通过以上步骤,大部分情况下可以解决Oracle客户端PL/SQL的中文乱码问题。然而,由于涉及到的操作系统、数据库版本以及具体的应用场景不同,乱码问题可能有多种表现和解决方案。在实际操作中,需要结合具体的错误现象...

    oracle指定排序的方法详解

    Oracle9i之前,中文是按照二进制编码进行排序的。在oracle9i中新增了按照拼音、部首、笔画排序功能。 1、设置NLS_SORT参数值 SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序 SCHINESE_STROKE_M ...

    EasyUI Datagrid 中文排序的问题

    默认情况下,EasyUI Datagrid 支持基本的数据排序功能,但其默认排序逻辑是基于字符编码的,因此无法直接实现中文按拼音顺序的排序。 #### 三、前端解决方案 对于前端来说,可以通过自定义排序函数的方式来实现中文...

    php pdo oracle中文乱码的快速解决方法

    针对PHP与PDO (PHP Data Objects) 扩展连接Oracle数据库时出现的中文乱码问题,通常是因为字符编码设置不一致导致的。以下是关于如何解决php与pdo连接oracle时中文乱码问题的详细步骤及知识点。 首先,要了解Oracle...

    DatabaseHelper_oracle_c#Oracle_C#_ManagedDataAccess_oracle操作_

    - Select:根据需求构建SELECT语句,可能需要处理分页、排序、过滤等条件,返回查询结果。 对于存储过程的调用,"DatabaseHelper"可能会有一个通用方法,接受存储过程名和参数列表,然后根据需要添加Oracle...

    oracle-sort-order-by.rar_oracle_sort - order

    在排序时,Oracle会基于这些编码的数值来确定字符的顺序。 2. **JIS排序** JIS排序规则是日本传统的一种字符排序方式,它根据JIS X 0208标准对日文字符进行排序。在Oracle中,可以通过设置NLS_SORT参数为JAPANESE_...

    oracle练习题39题(附个人编码答案)

    【知识点详解】 1. Oracle SQL查询与数据操作: - 使用`CASE`语句进行条件判断,例如在题目中用于确定是否交换学生的座位号。...通过这些知识,可以解决交换学生座位号、获取第二高薪水和分数排序等问题。

    oracle日语片假名转平假名函数

    文档中可能包括了如何在自己的Oracle环境中安装和调用这个函数的说明,以及任何必要的注意事项和潜在的问题解决方案。 总的来说,掌握这种特定的日语字符转换技术对于处理日语数据的Oracle数据库管理员和开发者来说...

    Oracle 字符集详解

    在处理多语言数据时,Oracle提供了NLSSORT参数来调整排序规则,同时配合使用NLS_LANG环境变量来设定客户端的字符集和排序规则,确保数据的一致性。 总结,Oracle字符集是数据库管理的关键部分,理解和正确配置字符...

    oracle姓名中文转全拼函数

    在函数内部,它利用了`NLSSORT`函数,这是一个Oracle内置的函数,用于根据指定的排序规则对字符串进行排序。在这个案例中,`nls_sort=schinese_pinyin_m`排序规则被用来获取每个汉字的拼音首字母。`fn_nlssort`是一...

    CI访问oracle 10g的问题

    当涉及到CI系统与Oracle数据库的交互时,特别是Oracle 10g这样的老版本,可能会遇到一些特定的问题。以下是对配置CI访问Oracle 10g关键性参数的详细说明: 首先,我们需要在CI的配置文件中设置正确的数据库连接参数...

    DataGrid连接Oracle

    它允许用户直观地查看、编辑和管理数据集,提供了丰富的功能,如排序、分组、筛选等。在本场景中,`DataGrid` 被用来显示和处理测点信息,这意味着它将作为用户与数据交互的窗口。 `Oracle` 是一款强大的关系型...

    Oracle 19C SQL调优指南 中文版 DBA优化利器

    《Oracle 19C SQL调优指南》是针对Oracle数据库管理员(DBA)的重要参考资料,尤其适合那些希望提升SQL性能的专业人士。SQL调优是数据库管理中的核心技能,它关乎到系统的响应时间、资源利用率和整体性能。Oracle 19C...

    Oracle数据库字符集问题总结

    Oracle的国家语言支持架构允许数据库适应多种语言环境,包括错误消息、日期格式、排序顺序等。NLS_LANG参数是影响Oracle数据库字符集的重要因素,它由语言、地域和字符集三部分组成。其中,字符集部分(charset)...

    oracle 中文转拼音工具包

    可能的实现方式是使用Oracle的内部函数,如`UTL_I18N.UNICODE_TO_CHAR`和`UTL_I18N.RAW_TO_CHAR`,结合特定的拼音库,将Unicode编码的汉字转化为对应的拼音表示。 `oracle汉字转拼音说明.txt`文件提供了关于如何...

    Oracle 字符集的查看和修改

    Oracle 字符集是数据库系统中一个至关重要的概念,它...正确选择和配置字符集可以确保数据的准确性和兼容性,避免字符乱码或数据丢失的问题。在进行数据库迁移或跨语言环境操作时,对字符集的深入理解更是必不可少。

Global site tag (gtag.js) - Google Analytics