Oracle 排序中常用的NULL值处理方法

善良的雷羽

善良的雷羽

2016-02-19 15:43

今天给大家分享的是由图老师小编精心为您推荐的Oracle 排序中常用的NULL值处理方法,喜欢的朋友可以分享一下,也算是给小编一份支持,大家都不容易啊!

1、缺省处理
 
Oracle在Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

2、使用nvl函数
 
nvl函数可以将输入参数为空时转换为一特定值,如nvl(employee_name,’张三’)表示当employee_name为空时则返回’张三’,如果不为空则返回employee_name通过这个函数可以定制null的排序位置。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

3、使用decode函数
 
decode函数比nvl函数更强大,同样它也可以将输入参数为空时转换为一特定值,如
decode(employee_name,null,’张三’, employee_name)表示当employee_name为空时则返回’张三’,如果不为空则返回employee_name
通过这个函数可以定制null的排序位置。

4、使用case 语法
 
Case语法是Oracle 9i后开始支持的,是一个比较灵活的语法,同样在排序中也可以应用如:
select *
 from employee
 order by  (case employee_name
            when null then
             '张三'
            else
             employee_name
          end)
表示当employee_name为空时则返回’张三’,如果不为空则返回employee_name通过case语法同样可以定制null的排序位置。
 
5、使用nulls first 或者nulls last 语法
 
Nulls first和nulls last是Oracle Order by支持的语法
如果Order by 中指定了表达式Nulls first则表示null值的记录将排在最前(不管是asc 还是 desc)
如果Order by 中指定了表达式Nulls last则表示null值的记录将排在最后 (不管是asc 还是 desc)
使用语法如下:
--将nulls始终放在最前
select * from zl_cbqc order by cb_ld nulls first
 
--将nulls始终放在最后
select * from zl_cbqc order by cb_ld desc nulls last

展开更多 50%)
分享

猜你喜欢

Oracle 排序中常用的NULL值处理方法

编程语言 网络编程
Oracle 排序中常用的NULL值处理方法

java中常用的排序方法

编程语言 网络编程
java中常用的排序方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

oracle数据库中关于null排序的问题

编程语言 网络编程
oracle数据库中关于null排序的问题

SQL Server、Oracle和MySQL中查出值为NULL的替换

编程语言 网络编程
SQL Server、Oracle和MySQL中查出值为NULL的替换

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

ServletContext中常用方法介绍

编程语言 网络编程
ServletContext中常用方法介绍

jQuery中常用的函数方法汇总

Web开发
jQuery中常用的函数方法汇总

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

运用jquery实现table单双行不同显示并能单行选中

运用jquery实现table单双行不同显示并能单行选中

如何使用MAC OS X Lion自带中文输入法输入颜文字表情

如何使用MAC OS X Lion自带中文输入法输入颜文字表情
下拉加载更多内容 ↓