`
bo_hai
  • 浏览: 567607 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

oracle null 值的排序

 
阅读更多

一、在实际的工作中,经常使用到根据表字段进行排序,多数情况下,是根据表primary key进行排序。但是呢,有时会根据更新时间(update_time)进行排序。如下面SQL:

SELECT * FROM 
temp_product tp 
ORDER BY  tp.combine_update_time DESC 

 二、如果tp.combine_update_time 都是非null的值,上述sql能够满足业务要求。但是如果存在null的值,则会发现,上述sql会把值为 null 的记录排在结果集前面,很显然这不是我们期望的结果。

三、解决问题的方案是:null lasts 关键字。sql如下:

SELECT *
FROM TEMP_PRODUCT TP
ORDER BY TP.COMBINE_UPDATE_TIME DESC NULLS LAST

 总结:如果期望值为 null 的记录排在结果集前面,可以使用 null first。

参考资料:http://www.juyimeng.com/oracle-nulls-first-and-nulls-last.html 

1
2
分享到:
评论

相关推荐

    oracle排序

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

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

    在Oracle中规定,在Order by排序时缺省认为null是最大值,所以如果是ASC升序则被排在最后,而DESC降序则排在最前。所以,为何分析数据的直观性方便性,我们需要对null的记录值进行相应处理。 这是四种oracle排序中...

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

    本文将详细介绍Oracle中常见的几种排序方式,包括按拼音、部首、笔画排序,以及如何处理NULL值,使用DECODE和NVL函数,以及实现高效的分页查询。 1. **按拼音排序**:Oracle支持按照汉字的拼音进行排序,这在处理...

    oracle处理的类型 oracle行排序

    对于包含NULL值的列,Oracle有一个默认的排序规则。在升序排列中,NULL值通常被放置在所有非NULL值之后;而在降序排列中,NULL值则会被放在最前面。但这个行为可以通过使用NULLS FIRST或NULLS LAST来改变: ```sql ...

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

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

    关于Oracle中NULL使用的若干实验研究.pdf

    在排序时,Oracle默认会将NULL值排在最后,除非特别指定排序规则。 总的来说,理解Oracle中NULL的使用至关重要,因为它会影响到查询性能、数据完整性和程序的正确性。开发者需要谨慎处理涉及NULL的操作,避免出现因...

    Oracle 中文字段进行排序的sql语句

    例如,`ORDER BY`子句中的`NULL`值处理,Oracle默认会将`NULL`值放在排序序列的最后。如果希望`NULL`值出现在排序的前面,可以使用`COALESCE`函数或`NVL`函数将其转换为一个特定值后再进行排序。 此外,当使用`IN`...

    MLDN魔乐科技JAVA培训_Oracle课堂6_排序、单行函数.rar

    5. **逻辑函数**:如NULLIF()比较两个值,如果相等则返回NULL,NVL()和NVL2()处理NULL值。 6. **其他函数**:DECODE()根据条件返回不同值,CASE或CASE WHEN...END用于条件表达式,以及ROWNUM用于生成行号。 这堂...

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

    总结来说,虽然MySQL没有直接提供Oracle那样的`NULLS FIRST`和`NULLS LAST`功能,但通过巧妙地使用`IF`和`ISNULL`函数,我们可以灵活地控制NULL值在排序结果中的位置。在数据库迁移过程中,理解这种差异并采取适当的...

    oracle限定查询和排序

    ### Oracle限定查询与排序知识点详解 #### 一、Oracle中的条件查询 在Oracle数据库中,进行数据查询时,经常会遇到需要根据特定条件筛选数据的情况。这些条件查询主要通过`WHERE`子句来实现。 ##### 1. 基本条件...

    数据库面试题4 oracle笔试 oracle例题

    - 不应该在含有NULL值的列上建立索引,因为Oracle优化器不会在where子句中使用包含`IS NULL`或`IS NOT NULL`的索引。这会导致即使列有索引,系统也会进行全表扫描。 2. **联接列**: - 在联接查询中,如果where...

    oracle约束和索引笔记

    - **非空约束(NOT NULL)**: 非空约束不允许字段值为NULL,确保该字段始终有值。 - **唯一约束(UNIQUE)**: 这种约束保证字段中的每个值都是唯一的,但允许NULL值。可以应用于单个字段或一组字段。 - **主键...

    SYBASE iq与ORACLE使用分析函数计算同期值及常用计算函数使用

    "SYBASE iq与ORACLE使用分析函数计算同期值及常用计算函数使用" 本资源摘要信息主要介绍了SYBASE iq和ORACLE中使用分析函数计算同期值和常用计算函数的使用方法。文章涵盖了同期值的计算、累计及同期累计值的计算、...

    Oracle基础

    Oracle基础知识课程涵盖了SQL基础知识、查询语句的编写、限制数据和排序、单行函数、Null值和空值、列别名和连接操作符、消除重复行和显示表结构等内容,是学习Oracle数据库管理系统的基础课程。

    oracle函数大全

    理解NULL值在Oracle中的行为是至关重要的。NULL表示未知或缺失的数据,当与算术运算符或某些函数结合时,如果操作数为NULL,结果通常也是NULL。然而,有些函数如`CONCAT`、`DECODE`、`DUMP`、`NVL`和`REPLACE`在遇到...

Global site tag (gtag.js) - Google Analytics