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

设置NLS_SORT值即可。

 

  1. SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序  
  2. SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序  
  3. SCHINESE_PINYIN_M 按照拼音排序  

 

  1. 拼音 SELECT * FROM 表名 ORDER BY NLSSORT(排序字段名,'NLS_SORT = SCHINESE_PINYIN_M')  
  2. 笔划 SELECT * FROM 表名 ORDER BY NLSSORT(排序字段名,'NLS_SORT = SCHINESE_STROKE_M')  
  3. 部首 SELECT * FROM 表名 ORDER BY NLSSORT(排序字段名,'NLS_SORT = SCHINESE_RADICAL_M')  

 ALTER SESSION SET NLS_SORT=''; //排序影响整个会话

 

=======================================================oracle中 nvl和nvl2函数的区别

NVL2(expr1,expr2,expr3),NVL2(表达式,不为空设值,为空设值)

NVL( string1, replace_with) ,如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。

 

相关文章:

  • 2022-12-23
  • 2021-06-13
  • 2022-01-16
  • 2022-12-23
  • 2021-06-25
  • 2022-03-01
  • 2022-12-23
猜你喜欢
  • 2021-11-14
  • 2022-02-22
  • 2022-12-23
  • 2022-02-28
  • 2022-12-23
  • 2022-12-23
  • 2021-08-28
相关资源
相似解决方案