关于空值null的排序问题   Oracle排序中NULL值处理的五种常用方法:

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

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

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

4、使用case 语法    Case语法是Oracle 9i后开始支持的,是一个比较灵活的语法,同样在排序中也可以应用    www.2cto.com   如:    select *    from employee    order by (case employee_name    when null then    '张三'    else    employee_name    www.2cto.com   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)    使用语法    www.2cto.com   将nulls始终放在最前    select * from zl_cbqc order by cb_ld nulls first //cb_ld是空值的始终放到最前    将nulls始终放在最后    select * from zl_cbqc order by cb_ld desc nulls last

关于null值的排序的更多相关文章

  1. 【SQL】含有NULL值的排序

    查询结果中有NULL值,当进行升序排序时,NULL值默认为“最大值”,排在最后面.要想改变NULL值的显示顺序,只需要在SQL语句后面加上NULLS FIRST(排在前面),NULLS LAST(排在 ...

  2. oracle 关于null值排序

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

  3. Null 值对索引排序的影响案例一则

    --原SQL 语句如下:select * from (select tmp_tb.*, ROWNUM row_id from (select wpid, customer_id, customer_n ...

  4. oracle自定义排序和NULL值排序

    1.自定义顺序 当我们希望将某个查询结果指定的显示顺序展示的时候 order by case when column1=1 then 0 case when column1=1 then 1 else ...

  5. SqlServer中的Null值空值问题

    sql使用的是三值谓词逻辑,所以逻辑表达式返回的结果可以为True.False或者未知,在三值逻辑中返回True与不返回False并不完全一样, SQL对查询过滤条件的处理:接受TURE  拒绝FAL ...

  6. sql 中的null值

    1.包含null的表达式都为空 select salary*12+nvl(bonus,0) nvl是虑空函数 2. null值永远!=null select  * from emp  where bo ...

  7. 关于数据库NULL值的几个问题思考

    最近在写项目,拼接SQL时,发现好多关于NULL值的问题,现在把这些问题整理出来,以供日后参考. 对于Oracle数据库: 一.排序 Oracle对于null值的排序,有一个函数可以进行操作: 在默认 ...

  8. PostgreSQL 数据库NULL值的默认排序行为与查询、索引定义规范 - nulls first\last, asc\desc

    背景 在数据库中NULL值是指UNKNOWN的值,不存储任何值,在排序时,它排在有值的行前面还是后面通过语法来指定. 例如 -- 表示null排在有值行的前面 select * from tbl or ...

  9. SQL Server 排序的时候使 null 值排在最后

    https://www.cnblogs.com/Brambling/p/7046148.html 最近遇到一个 SQL Server 排序的问题,以前也没了解过,然后这次碰到了. 才发现 SQL Se ...

随机推荐

  1. 为什么Java不适合游戏开发

    Strawberry Cow Bear: why java sucks for game developmenthttp://strawberrycowbear.blogspot.jp/2011/02 ...

  2. tp中ueditor编辑器的使用

    1/引入三个文件 <script type="text/javascript" charset="utf-8" src="{$Think.con ...

  3. 夏夏的php开发笔记开写啦

    主要写一些平时drupal.dedecms.帝国cms.wordpress等php程序开发过程中遇到的问题,以及解决的过程,记录夏夏的成长,把握契机,创造未来

  4. 最新Mac OS X 10.12.1 安装cocoapods及使用详解

    cocoapods官网:https://cocoapods.org 一.什么是CocoaPods 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs ...

  5. Android安全相关文章[不定期更新…]

    http://drops.wooyun.org/papers/2893 Intent scheme URL attack http://drops.wooyun.org/tips/3812 Andro ...

  6. C# 金钱 小写转大写的算法

    调用 ConvertMoney的ConvertMoneyToWords(decimal money)方法即可 using System; using System.Collections.Generi ...

  7. CA扫盲的巅峰之作!!!

    ★ 先说一个通俗的例子 考虑到证书体系的相关知识比较枯燥.晦涩.俺先拿一个通俗的例子来说事儿. ◇ 普通的介绍信 想必大伙儿都听说过介绍信的例子吧?假设 A 公司的张三先生要到 B 公司去拜访,但是 ...

  8. CSS样式表基础

    CSS的样式表其实就是美观页面的,加一些样式. 一.样式表的三种分类: ①内联样式:写在某一个标签里面的样式. 优点:控制精确. 缺点:代码重用性差.(太多了不好写)页面代码乱.(太乱,后期不方便看) ...

  9. PHP之session与cookie

    1.session与cookie的关系 众所周知,session是存储在服务器端,cookie是存储在客户端,如果禁用了浏览器的cookie功能,很多时候(除非进行了特殊配置)服务器端就无法再读取se ...

  10. PHP中的date()函数

    d  月份中的第几天,有前导零的 2 位数字 01 到 31 D  星期中的第几天,文本表示,3 个字母 Mon 到 Sun j  月份中的第几天,没有前导零 1 到 31 l  ("L&q ...