`

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

阅读更多
1、在oracle中 null 缺省会认为是最大值 ,因此
select id,description from security_application where mod(id,4)=0 order by description

执行结果:



select id,description from security_application where mod(id,4)=0 order by description desc

执行结果:



2、使用nvl函数 nvl函数可以将输入参数为空时转换为一特定值,如nvl(description,'...')表示当description为空时则返回'...’,如果不为空则返回description通过这个函数可以定制null的排序位置。
select id,nvl(description,'...') from security_application where mod(id,4)=0 order by description desc


3、使用decode函数 decode函数比nvl函数更强大,同样它也可以将输入参数为空时转换为一特定值,如
select id,decode(description,null,'...', description) from security_application where mod(id,4)=0 order by description desc
表示当description为空时则返回’...’,如果不为空则返回description通过这个函数可以定制null的排序位置。

4、使用case 语法 Case语法是Oracle 9i后开始支持的,是一个比较灵活的语法,同样在排序中也可以应用如:
select id,description from security_application where mod(id,4)=0 order by (case description when null then '...' else description end) desc

表示当description 为空时则返回’...’,如果不为空则返回description 通过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 id,description from security_application where mod(id,4)=0 order by description desc nulls first


--将nulls始终放在最后:
select id,description from security_application where mod(id,4)=0 order by description desc nulls last


6、NVL (expr1, expr2)
expr1为NULL,返回expr2;expr1不为NULL,返回expr1。注意两者的类型要一致
NULL指的是空值,或者非法值。

7、NVL2 (expr1, expr2, expr3)
expr1不为NULL,返回expr2;expr1为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型

8、NULLIF (expr1, expr2)
相等返回NULL,不等返回expr1
  • 大小: 9 KB
  • 大小: 9 KB
分享到:
评论

相关推荐

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

    order by排序之null值处理方法 在对业务数据排序时候...这是四种oracle排序中NULL值处理的方法: 1、使用nvl函数 语法:Nvl(expr1, expr2)  若EXPR1是NULL,則返回EXPR2,否則返回EXPR1. SELECT NAME,NVL(TO_CHAR(CO

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

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

    oracle排序

    在 Oracle 中,可以使用 DECODE 函数对 NULL 值进行处理。例如,以下语句将对 perexl 表中的数据按照 danwei 列进行排序,并将 NULL 值转换为“单位是空”: SELECT * FROM perexl ORDER BY DECODE(danwei, NULL, '...

    oracle处理的类型 oracle行排序

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

    oracle最常用的函数或方法总结

    在日常的数据操作和分析中,掌握一些常用的Oracle函数和方法是至关重要的。以下是对"Oracle最常用的函数或方法总结"的详细阐述: 1. **字符串处理函数** - `CONCAT()`:用于连接两个或多个字符串。 - `SUBSTR()`...

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

    除了上述两种直接的方法,还可以使用一些函数来处理NULL值,比如`NVL`、`NVL2`、`DECODE`以及`CASE...WHEN...END`等,这些函数可以帮助我们在排序时给NULL值赋予一个特定的值,从而达到期望的排序效果。例如,使用`...

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

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

    Oracle 数据库的常用函数列表一览

    本篇文章将深入探讨Oracle数据库中的一些常用函数,包括单行函数、处理NULL值的方法以及单行字符串函数。 首先,单行函数是SQL和PL/SQL中处理单行数据的关键工具。它们广泛应用于SELECT、WHERE、ORDER BY等子句,...

    Oracle常用关键词和函数

    在本文中,我们将深入探讨一些Oracle中常用的关键词和函数。 首先,我们来看NVL()函数,这是一个非常实用的处理空值(NULL)的函数。NVL(a, b)的作用是如果表达式a的值为NULL,则返回b的值,否则返回a的值。这在...

    Oracle数据库的常用函数列表快速查

    在处理NULL值时,单行函数的行为需要特别注意。NULL表示未知或空值,当涉及到算术运算或函数调用时,与NULL的任何操作通常会返回NULL。不过,有一些函数如`CONCAT`、`DECODE`、`DUMP`、`NVL`和`REPLACE`在遇到NULL时...

    Oracle数据库空值应用方法研究.pdf

    - 排序:在`ORDER BY`子句中,如果按包含NULL值的列进行排序,NULL值会被视为最大值,即在升序排序中位于最后,降序排序中位于最前。 3. 空值的运算 - NULL值与其他值的算术、比较和逻辑运算结果通常是NULL,这是...

    oracle 数据库常用的方法和错误总结

    **一、Oracle 数据库中的常用数据类型** 1. `VARCHAR2(长度)`:可变长度字符串,其中长度参数指定最大字符数。 2. `CHAR(长度)`:固定长度字符串,无论实际存储的数据是否达到指定长度,剩余位置都会用空格填充。 3...

    oracle常用

    此函数用于处理 NULL 值。 - 如果 `a` 为 NULL,则返回 `b`; - 否则返回 `a`。 示例: ```sql UPDATE emp SET salary = (salary + nvl(bonus, 0)) * 1.1; ``` **5. `concat(a, b)`** 此函数用于连接两个字符串...

    Oracle常用高级sql学习

    本文将根据提供的标题、描述和部分链接信息,详细介绍Oracle中常用的高级SQL知识点。 #### 一、Oracle SQL简介 Oracle SQL是一种标准化的查询语言,用于访问和操作存储在Oracle数据库中的数据。它不仅支持基本的...

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

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

Global site tag (gtag.js) - Google Analytics