NVL和NVL2两个函数虽然不经常用,但是偶尔也会用到,所以了解一下。

语法:

--如果表达式1为空则显示表达式2的值,如果表达式1不为空,则显示表达式1的值
NVL(表达式1,表达式2);
--如果字段1为空,则显示字段2的值,如果字段1不为空则显示字段1的值
NVL(字段1,字段2);

--如果表达式1为空,则显示表达式3的值,如果不为空则显示表达式2的值
NVL2(表达式1,表达式2,表达式3)
--如果字段1为空则显示字段3的值,如果字段1不为空则显示字段2的值
NVL2(字段1,字段2,字段3)

 

比如有表:SYS_USER_INFO,表中有其中三个字段:REAL_NAME,NICK_NAME,NET_NAME。

需求;如果REAL_NAME为空,则查询NET_NAME,不为空则查询REAL_NAME:

SELECT NVL(REAL_NAME,NET_NAME) AS NAME FROM SYS_USER_INFO

在项目中有时需要在查询时预留几个备用字段,也可以通过NVL2来实现,如:

NVL2('SPARE','','') AS SPARE

 

 这样无论如何都会有个SPARE为空的字段。

相关文章:

  • 2022-03-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-28
  • 2021-06-11
猜你喜欢
  • 2022-02-22
  • 2021-06-13
  • 2022-12-23
  • 2022-12-23
  • 2018-12-13
  • 2021-06-25
  • 2021-10-09
相关资源
相似解决方案