`
飞天小女警
  • 浏览: 107156 次
  • 性别: Icon_minigender_2
  • 来自: 重庆
社区版块
存档分类
最新评论

NULLS FIRST: place null value first排序时对空值的位置排列

阅读更多

1.不加“关照”的order by升序排序效果--NULL值在后。
sec@ora10g> select * from t order by x;

         X
----------
         1
         2
         3
         4




7 rows selected.

2.不加“关照”的order by降序排序效果--NULL值在前。
sec@ora10g> select * from t order by x desc;

         X
----------



         4
         3
         2
         1

7 rows selected.

3.特殊“关照”的order by升序排序效果--NULL值在前。
sec@ora10g> select * from t order by x nulls first;

         X
----------



         1
         2
         3
         4

7 rows selected.

4.特殊“关照”的order by降序排序效果--NULL值在后。
sec@ora10g> select * from t order by x desc nulls last;

         X
----------
         4
         3
         2
         1




7 rows selected.

5.规律总结
1)不加“关照”的情况下,我们可以把那些NULL值假想为所有内容中值是最大的,因此,升序排序后NULL值在最后,倒序排序后NULL值在最前!
2)特殊“关照”的情况下,当指定“NULLS FIRST”时,无论是升序排序还是倒序排序,NULL值都会排列在最前面;当指定“NULLS LAST”时,无论是升序排序还是倒序排序,NULL值都会排列在最后面。

6.Oracle官方文档中有关“NULLS FIRST | NULLS LAST”的参考内容
http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_10002.htm#i2171079
摘录在此:
NULLS FIRST | NULLS LAST
Specify whether returned rows containing null values should appear first or last in the ordering sequence.
NULLS LAST is the default for ascending order, and NULLS FIRST is the default for descending order.

7.小结
通过这篇内容的介绍,我们可以看到Oracle的确是无微不至。有了这个NULL值位置的强制方法,我们在书写SQL时的灵活性和可控性便可进一步得到加强

分享到:
评论

相关推荐

    oracle使用order by排序null值如何处理

    适用情况: oracle 对查询结果进行排序时,被排序的栏位存在null值,且要指定NULL值排在最前面或者最后面 关键字:Nulls First;Nulls Last 默认情况:null 默认为最大值(即:asc 升序<小–>大>,null值排在最后...

    Oracle数据库中对null值的排序及mull与空字符串的区别

    Oracle规定,在`ORDER BY`语句执行排序时,默认情况下null被视为最大值。这意味着在升序(ASC)排序中,null会出现在所有非null值之后,而在降序(DESC)排序中,null会出现在所有非null值之前。这种默认行为可能会...

    sql 语句大全sql教程

    在排序时,可以使用`SUBSTR`对字段的特定部分进行排序。例如,示例中按职位字段的最后两个字符排序,这在需要根据特定字段的子串进行排序时非常有用。 4. **处理空值排序**:在SQL中,空值(NULL)的处理需要特别...

    对Oracle 排序中的几种常用排序的介绍

    Oracle数据库在处理排序时提供了多种方法,以满足不同的需求。本文将详细介绍Oracle中常见的几种排序方式,包括按拼音、部首、笔画排序,以及如何处理NULL值,使用DECODE和NVL函数,以及实现高效的分页查询。 1. **...

    oracle排序

    在 Oracle 中,可以使用 NULLS FIRST 关键字对数据进行排序,将 NULL 值放在最前。例如,以下语句将对 perexl 表中的数据按照 danwei 列进行排序,将 NULL 值放在最前: SELECT * FROM perexl ORDER BY danwei ...

    oracle处理的类型 oracle行排序

    比如,如果一个列包含自定义对象类型,那么可以为该列的某个属性创建索引,从而在基于该属性进行排序时提高效率。 此外,Oracle工具,如SQL Developer和PL/SQL Developer,提供了图形化的界面,使得排序操作更为...

    Replacing_white_space_with_nulls_in_excel:用NULL替换空白和空字符串的代码

    在Excel表格中,有时我们可能需要处理数据,例如将空格或空字符串替换为NULL值。这在数据清洗和预处理阶段尤其有用,确保数据的一致性和准确性。在这个场景下,我们将探讨如何使用Python编程语言来实现这个功能。...

    oralce 中 排序问题

    此外,Oracle还提供了一些高级排序功能,如`NULLS FIRST`和`NULLS LAST`,它们用于控制NULL值的排序位置。默认情况下,NULL值在非NULL值之前,但你可以用这些选项改变这个行为: ```sql SELECT * FROM employees ...

    Mysql实现null值排在最前/最后的方法示例

    这样,在排序时,非NULL值会先于NULL值出现,而`a DESC`则按降序排列非NULL值。 相反,如果希望NULL值排在最前,可以调整`IF`函数的逻辑: ```sql SELECT * FROM A ORDER BY IF(ISNULL(a), 0, 1), a DESC; ``` 在这...

    ORACLE基本操作

    在查询结果中,可以通过 `NULLS FIRST` 或 `NULLS LAST` 来控制 null 值的位置。 **示例**: ```sql SELECT * FROM zl_cbqc ORDER BY cb_ld NULLS FIRST; // cb_ld 是空值的始终放到最前 SELECT * FROM zl_cbqc ...

    sql高级进阶

    - 处理排序空值:使用NULLS FIRST或NULLS LAST处理排序中的空值。 - 根据条件取不同列中的值来排序:使用CASE语句决定排序使用的列值。 3. 操作多个表 - 合并显示记录集:使用UNION或UNION ALL。 - UNION与OR...

    Oracle学习笔记(传智播客 赵强)

    - 在排序时,如果不希望NULL值排在最后或最前,可以使用`NULLS LAST`或`NULLS FIRST`来指定排序位置。 - 分组函数如`MAX`, `MIN`, `AVG`, `COUNT`会自动忽略NULL值,所以在计算平均值或计数时无需额外处理。 ...

    02_oracle学习笔记第一天

    - **NULLS LAST/FIRST**:指定 null 是否排在最前或最后,如 `SQL> select empno, ename, sal, comm from emp order by comm nulls last;`。 #### 八、事务管理 - **MySQL 事务**:需手动开启事务 `start ...

    Oracle_详解分析函数

    1. **带空值的排列**:可以通过指定NULLS LAST或NULLS FIRST来控制空值的位置。 2. **Top/Bottom N查询**:使用`ROW_NUMBER()`或`RANK()`函数结合`WHERE`子句实现。 3. **First/Last排名查询**:使用`FIRST_VALUE`或...

    rust-sortStringToSql:锈版。 将排序表达式转换为可在 'ORDER BY' 语句中使用的 SQL,例如 '-aired,id' -> 'aird DESC NULLS LAST, id ASC NULLS LAST'

    将字符串排序为 SQL 这是一个 rust crate,用于将“排序表达式”转换为可在... 如果您希望首先使用null值的记录(这会设置NULLS FIRST ),请附加一个“-”。 您可以在内联#[test]找到一些示例。执照麻省理工学院

    关于mybatis callSettersOnNulls 配置解析

    2. 如果你只查询了一个字段,但仍使用 map 来接收结果,当这个字段的值为 null 时,预期会得到一个只有一个 key 的 map,其值为 null。然而,由于 `callSettersOnNulls` 为 true,你会得到一个空的 map,这与预期...

    snull.tar.bz2

    snull linux3.x版本的代码,还有客户端测试程序,以及爪包结果,流程图分析等

Global site tag (gtag.js) - Google Analytics