oracle在9i之前是对汉字的排序是按照二进制编码进行排序的,很不适合我们的国情,在oracle9i之后,汉字的排序方式有了以下三种方式:

1、使用拼音排序       NLS_SORT=SCHINESE_PINYIN_M

2、使用笔画排序       NLS_SORT=SCHINESE_STROKE_M 第一顺序笔画,第二顺序部首;

3、使用偏旁部首排序   NLS_SORT=SCHINESE_RADICAL_M 第一顺序部首,第二顺序笔画;

这样,就可以在查询的时候,指定汉字的排序方式,设定方式可以分为以下三个级别:

1、语句级别设置排序方式:

按照笔划排序:

select * from table order by nlssort(col,'NLS_SORT=SCHINESE_STROKE_M');

按照部首排序:

select * from table order by nlssort(col,'NLS_SORT=SCHINESE_RADICAL_M');

按照拼音排序:

select * from table order by nlssort(col,'NLS_SORT=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、修改系统参数(数据库所在操作系统):

set NLS_SORT=SCHINESE_RADICAL_M ;export NLS_SORT (sh)setenv NLS_SORT SCHINESE_RADICAL_M (csh)  HKLCSOFTWAREORACLEhome0NLS_SORT(win注册表);

网上有人说,oracle9i之后对于汉字的默认排序是拼音排序(SCHINESE_PINYIN_M),但是经过我的实际验证,发现不是,排序比较乱,也不知道是不是按照二进制编码进行排序的。

使用如下方法可以查看oracle的一些默认参数(注意标红的参数值):

Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0

Connected as system

SQL>

SQL> select * from nls_database_parameters;

PARAMETER                      VALUE

------------------------------ ----------------------------------------------------

NLS_LANGUAGE                   AMERICAN

NLS_NCHAR_CHARACTERSET         UTF8

NLS_TERRITORY                  AMERICA

NLS_CURRENCY                   $

NLS_ISO_CURRENCY               AMERICA

NLS_SORT                       BINARY

NLS_NUMERIC_CHARACTERS         .,

NLS_CHARACTERSET               AL32UTF8

NLS_CALENDAR                   GREGORIAN

NLS_DATE_FORMAT                DD-MON-RR

NLS_DATE_LANGUAGE              AMERICAN

NLS_TIME_FORMAT                HH.MI.SSXFF AM

NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM

NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR

NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR

NLS_DUAL_CURRENCY              $

NLS_COMP                       BINARY

NLS_LENGTH_SEMANTICS           BYTE

NLS_NCHAR_CONV_EXCP            FALSE

NLS_RDBMS_VERSION              10.2.0.1.0

Oracle排序排除null,oracle 排序(中文,null的处理)相关推荐

  1. oracle根据null排序,oracle 关于null值排序

    在oracle中根据字段来desc排序的话null值可能会在数据的最前面.然而有时候我们查看数据的时候并不希望能够在前面看到这些null值的排序数据. 因此我查了一下: 1.排序的时候运用nvl(). ...

  2. oracle数据库的字段怎么排序规则,Oracle中文、数字混杂字段的排序

    对Oracle中中文.数字混杂形式的字段进行排序的方法: 例如: orderbyNLSSORT(字段名,'NLS_SORT = SCHINESE_PINYIN_M'), to_number(trans ...

  3. oracle数据库查询并排序语录句,ORACLE系统查询话语

    当前位置:我的异常网» 数据库 » ORACLE系统查询话语 ORACLE系统查询话语 www.myexceptions.net  网友分享于:2015-08-26  浏览:19次 ORACLE系统查 ...

  4. oracle or条件后 排序,WHERE条件和排序

    一.条件简介 了解条件的一般形式 最普通的条件如下形式: gyj@OCM> Select * from t1 where name='gyj2'; ID NAME           SALAR ...

  5. Oracle中的NULL(二、NULL详解)

    2019独角兽企业重金招聘Python工程师标准>>> 说明:本篇文章是摘取自以下链接的Blog,但作者的这篇文章也是转载(非常感谢),我在记录的时候也有添加自己的思考. http: ...

  6. MySQL 如何实现 Oracle 的 row_number() over() 分组排序功能

    文章目录 Oracle 的分组排序 MySQL 的分组排序 分析需求 创建模拟数据 SQL 实现 结果演示 Oracle 的分组排序 Oracle 的分组排序函数的语法格式如下: ROW_NUMBER ...

  7. oracle 分组过滤空值,oracle 空值处理,排序过滤

    oracle认为 null 最大. 升序排列,默认情况下,null值排后面. 降序排序,默认情况下,null值排前面. 有几种办法改变这种情况: (1)用 nvl 函数或decode 函数 将null ...

  8. oracle排序特别慢,Oracle 排序是件很有意思的事

    以下的文章主要是对Oracle排序中的几种常用排序的介绍,你会发现Oracle 排序是一件很有意思的事,以下就是文章的具体内容的描述,以下是文章的具体介绍,望你浏览完以下的内容会有所收获. 按拼音排序 ...

  9. Oracle 设置 sort au,oracle数据库拼音排序及NLS_SORT配备[转]

    oracle数据库拼音排序及NLS_SORT配置[转] Oracle9i之前,中文是按照二进制编码进行排序的.在oracle9i中新增了按照拼音.部首.笔画排序功能. 1.设置NLS_SORT参数值 ...

  10. 数据库中自定义排序规则,Mysql中自定义字段排序规则,Oracle中自定义字段排序规则,decode函数的用法,field函数的用法

    数据库中自定义排序 场景:有一张banner表,表中有一个status字段,有0, 1, 2三个状态位,我想要 1,0,2的自定义排序(这里是重点),然后再进行之上对sequence字段进行二次排序( ...

最新文章

  1. gin构建包含模板的二进制文件
  2. solr的空间查询(查询地图周围坐标)
  3. 除了PS,还有它可以轻松实现图像处理!
  4. python 列表嵌套字典 添加修改删除_【Python】列表嵌套字典修改字典里面的一个值却把全部的值都修改了。...
  5. echart雷达图文字挤在一起_【数据可视化·图表篇】雷达图
  6. 没有基础的想转行学习Python怎么学
  7. vue 高德地图搜索功能_VUE中使用高德地图做轨迹添加功能,帮助轨迹展示
  8. HDOJ 2544(Dijkstra)
  9. 6 云计算系列之Nova安装与配置
  10. mdf转sql mysql_如何将SQL数据库.MDF格式的导入到mysql数据库里面啊
  11. GD32F130之DMA
  12. pm9screw php,PHP使用Screw把源代码加密
  13. 阿里hotfix热修复自动更新,了解一下。
  14. Rockchip RK3588 kernel dts解析之音频模块
  15. App中所有页面添加水印(支持单行和多行)
  16. 2022-2027年(新版)中国大米行业营销战略与供应情况预测报告
  17. 抑郁症患者突然心情变好,不一定是好事!
  18. DAG 图关键路径算法
  19. 什么是Promise,Promise的三种状态
  20. Eunomia: 让 ebpf 程序的分发和使用像网页和 web 服务一样自然

热门文章

  1. NVIDIA CUDA-X AI
  2. AI框架外部用户贡献代码
  3. 卷积神经网络模型可解释性
  4. 多目标跟踪:CVPR2019论文阅读
  5. Django 定义模型2.1
  6. CSS 文字溢出显示省略号
  7. flutter中的路由跳转
  8. BZOJ.3527.[ZJOI2014]力(FFT)
  9. easyUI样式之easyui-switchbutton
  10. C++中模块(Dll)对外暴露接口的方式