`

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

阅读更多

1、缺省处理
  Oracle在Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前
  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的排序位置。
  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

分享到:
评论

相关推荐

    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