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

2016-02-19 15:43 4 1 收藏

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

【 tulaoshi.com - 编程语言 】

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

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

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

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

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

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

来源:http://www.tulaoshi.com/n/20160219/1610252.html

延伸阅读
标签: Web开发
% Dim aData aData = Array(3,2,4,1,6,0) Call ResponseArray(aData, "原来顺序") Call ResponseArray(SelectSort(aData), "选择排序") Call ResponseArray(QuickSort(aData), "快速排序") Call ResponseArray(InsertSort(aData), "插入排序") Call ResponseArray(BubbleSort(aData), "冒泡排序") ...
标签: Web开发
本文介绍了一些网页制作中常用的Javascript代码,应该是比较常用的了,值得大家收藏。 事件源对象 以下是引用片段: event.srcElement.tagName event.srcElement.type 捕获释放 以下是引用片段: event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键...
标签: PS 快捷键
文件菜单下的快捷键 新建 CTRL+N 打开 CTRL+O 打开为 ALT+CTRL+O 关闭 CTRL+W 保存 CTRL+S 另存为 CTRL+SHIFT+S 另存为网页格式 CTRL+ALT+S 打印设置 CTRL+ALT+P 页面设置 CTRL+SHIFT+P 打印 CTRL+P 退出 CTRL+Q 编辑菜单下的快捷键 撤消 CTRL+Z 向前一步 CTRL+SHIFT+Z ...
标签: Web开发
$(”#msg”).html(); //返回id为msg的元素节点的html内容。 $(”#msg”).html(”new content“); //将“new content” 作为html串写入id为msg的元素节点内容中,页面显示粗体的new content $(”#msg”).text(); //返回id为msg的元素节点的文本内容。 $(”#msg”).text(”new content“); //将“new content” 作为普通文本串写入id为msg的...
/* 豆腐制作,都是精品 http://www.asp888.net 豆腐技术站 如转载 请注明版权信息 */ 在ASP+中,我们要使用MS 给我们提供的 众多的功能,必须引用和功能相应的 NameSpace(命名空间), 豆腐在这里给大家 大致 列出了一些 经常会 用到的 一些 NameSpaces,比如:FileSystem,Ado+ 等等 FileSystemObject (文件操作) <%@ IMPORT Namespace="System.I...

经验教程

731

收藏

6
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部