`

oracle的order by排序中空字符串处理方法

 
阅读更多
oracle的order by排序中空字符串处理方法 
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_Sql_中常用字符串处理函数

    Oracle Sql 中常用字符串处理函数 Oracle Sql 中提供了多种字符串处理函数,用于对字符串进行各种操作,如大小写转换、截取、连接、查找、替换等。下面是 Oracle Sql 中常用的字符串处理函数: 1. 大小写转换函数 ...

    oracle按特定字符截取字符串

    oracle,按特定字符,截取字符串,直接出结果 oracle,按特定字符,截取字符串,直接出结果oracle,按特定字符,截取字符串,直接出结果

    Oracle拆分字符串,字符串分割的函数

    在Oracle数据库中,处理字符串是常见的操作之一,尤其是在数据分析或数据清洗的过程中。有时我们需要将一个长字符串分割成多个部分,以便进行进一步的操作。Oracle提供了一些内置的函数来帮助我们完成这个任务。本篇...

    Oracle字段转字符串/多行记录合并/连接/聚合字符串的几种方法

    在Oracle数据库中,有时我们需要将多个字段值转换为单个字符串,或者将多行记录合并成一行,这在数据处理和报告生成时尤其常见。Oracle提供了多种方法来实现这一目标,包括使用内置函数、PL/SQL过程以及一些高级特性...

    oracle遍历数据库查找字符串

    标题"Oracle遍历数据库查找字符串"暗示了一个实用的解决方案,它允许用户快速搜索Oracle数据库中的特定文本字符串,无需手动编写复杂的SQL查询。这通常在数据审计、故障排查或日志分析等场景中非常有用。 描述中...

    oracle通过sql实现字符串转数字oracle函数

    在Oracle数据库中,将字符串转换为数字是一项常见的操作,特别是在处理包含数字的字符串列时,可能需要进行数值计算或按照数值大小进行排序。本篇文章将深入探讨如何在SQL查询中利用Oracle提供的函数来实现这一目标...

    如何用oracle 截取两个相同字符串之间的字符

    在实际工作中经常遇到截取两个相同字符串之间的字符的oracle问题,以下是相关语句

    Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出

    本文将深入探讨`ORDER BY`子句在Oracle中的排序机制,以及查询时根据`IN`条件顺序输出的方法。 首先,`ORDER BY`用于指定查询结果的排序方式,可以基于一个或多个列进行升序(ASC)或降序(DESC)排序。然而,...

    Oracle连接字符串

    Oracle 连接字符串是指连接 Oracle 数据库的字符串书写方法,本文总结了多种连接 Oracle 数据库的字符串书写方法。 一、标准连接字符串 标准连接字符串是最基本的连接字符串格式,用于连接 Oracle 数据库。例如,...

    oracle 如何判断一个字符串能否转换为数字?

    尤其是在处理字符型数据时,有时我们需要判断一个字符串是否能够被成功地转换成数字类型。与SQL Server提供了`IS_NUMBER`这样的内置函数不同,Oracle并没有提供一个直接的函数或方法来实现这一功能。因此,我们需要...

    Oracle JSON 字符串处理实例

    Oracle数据库在JSON处理方面提供了强大的功能,特别是在处理JSON字符串时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于Web服务与应用程序之间的数据传输。在Oracle中,处理JSON字符串...

    oracle中操作字符串

    通过上述示例可以看出,在Oracle中利用`REGEXP_SUBSTR`函数可以非常灵活地处理字符串,尤其是对于包含特殊符号(如逗号、冒号等)的字符串,能够轻松地提取所需的子字符串。这对于数据处理、报表生成等应用场景具有...

    oracle字符串替换

    通过本文的学习,我们可以了解到`REGEXP_REPLACE`函数在Oracle数据库中处理字符串的强大能力,特别是对于复杂的字符串替换场景。掌握该函数的使用方法,能够极大地提高数据处理的效率和准确性。

    Oracle通过正则表达式分割字符串 REGEXP_SUBSTR的代码详解

    string :需要进行正则处理的字符串 pattern :进行匹配的正则表达式 position :起始位置,从第几个字符开始正则表达式匹配(默认为1) occurrence :标识第几个匹配组,默认为1 modifier :模式(‘i’不区分大...

    C#连接Oracle数据库字符串

    C#连接Oracle数据库字符串 C#连接Oracle数据库字符串

    Oracle查找字符串中某字符出现的次数

    select f_find('Ap@2233ll@@l@@','@') from dual 返回结果为5,代表‘@’在该字符串中出现5次。 同理 select f_find('Ap@223SWEQQQ3ll@@l@@','Q') from dual---返回3,代表Q在字符串中出现了3次, select f_find('我...

    oracle-字符串去重函数

    传入一个字符串和该字符串的分割字符,返回去重后的字符串,可以直接在plsql中运行,简单的函数运用,能处理oracle中。资源仅供参考

    oracle多行转为字符串总结

    介绍了将多行转为字符串的三种方案,并比较了三种方案的执行效率. 1.sys_connect_by_path + start with ... connect by ... prior + 分析函数 2.自定义Function/SP 3.使用 Oracle 10g 内置函数 wmsys.wm_concat

    Oracle数据库驱动及连接字符串

    在使用Oracle数据库进行应用程序开发时,理解如何配置和使用Oracle数据库驱动以及建立正确的连接字符串至关重要。下面将详细介绍这两个关键概念。 一、Oracle数据库驱动 Oracle数据库驱动,也称为JDBC驱动(Java ...

Global site tag (gtag.js) - Google Analytics