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
分享到:
相关推荐
order by排序之null值处理方法 在对业务数据排序时候...这是四种oracle排序中NULL值处理的方法: 1、使用nvl函数 语法:Nvl(expr1, expr2) 若EXPR1是NULL,則返回EXPR2,否則返回EXPR1. SELECT NAME,NVL(TO_CHAR(CO
本文将详细介绍Oracle中常见的几种排序方式,包括按拼音、部首、笔画排序,以及如何处理NULL值,使用DECODE和NVL函数,以及实现高效的分页查询。 1. **按拼音排序**:Oracle支持按照汉字的拼音进行排序,这在处理...
在 Oracle 中,可以使用 DECODE 函数对 NULL 值进行处理。例如,以下语句将对 perexl 表中的数据按照 danwei 列进行排序,并将 NULL 值转换为“单位是空”: SELECT * FROM perexl ORDER BY DECODE(danwei, NULL, '...
对于包含NULL值的列,Oracle有一个默认的排序规则。在升序排列中,NULL值通常被放置在所有非NULL值之后;而在降序排列中,NULL值则会被放在最前面。但这个行为可以通过使用NULLS FIRST或NULLS LAST来改变: ```sql ...
除了上述两种直接的方法,还可以使用一些函数来处理NULL值,比如`NVL`、`NVL2`、`DECODE`以及`CASE...WHEN...END`等,这些函数可以帮助我们在排序时给NULL值赋予一个特定的值,从而达到期望的排序效果。例如,使用`...
在日常的数据操作和分析中,掌握一些常用的Oracle函数和方法是至关重要的。以下是对"Oracle最常用的函数或方法总结"的详细阐述: 1. **字符串处理函数** - `CONCAT()`:用于连接两个或多个字符串。 - `SUBSTR()`...
在排序时,Oracle默认会将NULL值排在最后,除非特别指定排序规则。 总的来说,理解Oracle中NULL的使用至关重要,因为它会影响到查询性能、数据完整性和程序的正确性。开发者需要谨慎处理涉及NULL的操作,避免出现因...
本篇文章将深入探讨Oracle数据库中的一些常用函数,包括单行函数、处理NULL值的方法以及单行字符串函数。 首先,单行函数是SQL和PL/SQL中处理单行数据的关键工具。它们广泛应用于SELECT、WHERE、ORDER BY等子句,...
在本文中,我们将深入探讨一些Oracle中常用的关键词和函数。 首先,我们来看NVL()函数,这是一个非常实用的处理空值(NULL)的函数。NVL(a, b)的作用是如果表达式a的值为NULL,则返回b的值,否则返回a的值。这在...
在处理NULL值时,单行函数的行为需要特别注意。NULL表示未知或空值,当涉及到算术运算或函数调用时,与NULL的任何操作通常会返回NULL。不过,有一些函数如`CONCAT`、`DECODE`、`DUMP`、`NVL`和`REPLACE`在遇到NULL时...
- 排序:在`ORDER BY`子句中,如果按包含NULL值的列进行排序,NULL值会被视为最大值,即在升序排序中位于最后,降序排序中位于最前。 3. 空值的运算 - NULL值与其他值的算术、比较和逻辑运算结果通常是NULL,这是...
此函数用于处理 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数据库中的数据。它不仅支持基本的...
例如,`ORDER BY`子句中的`NULL`值处理,Oracle默认会将`NULL`值放在排序序列的最后。如果希望`NULL`值出现在排序的前面,可以使用`COALESCE`函数或`NVL`函数将其转换为一个特定值后再进行排序。 此外,当使用`IN`...