MsSql
主页 > 数据库 > MsSql >

SQL中NVL()函数的用法总结

2024-04-21 | 佚名 | 点击:

SQL中的NVL()函数是一个空值转换函数,其语法为:NVL(expr1, expr2)。如果expr1为空值,则NVL()函数返回expr2的值,否则返回expr1的值。该函数的目的是将空值转换为实际的值。expr1和expr2的数据类型必须为同一类型,可以是数字型、字符型和日期型。

以下是一些NVL()函数的例子:

除了NVL()函数外,SQL还有一个类似的函数NVL2(),其语法为:NVL2(expr1, expr2, expr3)。如果expr1为空值,则返回expr3的值,否则返回expr2的值。

以下是一个NVL2()函数的例子:

例子:

1

select   ename,NVL(TO_char(comm), ename||' is not a salesperson!') AS COMMISSION from emp

sql中nvl和nvl2的区别

NVL(表达式1,表达式2)

如果表达式1为空值,NVL返回值为表达式2的值,否则返回表达式1的值。该函数的目的是把一个空值(null)转换成一个实际的值。其表达式的值可以是数字型、字符型和日期型。但是表达式1和表达式2的数据类型必须为同一个类型

NVL2(表达式1,表达式2,表达式3)

如果表达式1为空,返回值为表达式3的值。如果表达式1不为空,返回值为表达式2的值

1

2

3

4

5

6

7

8

select '' from dual;

--结果: ''

select nvl('',0) from dual;

--结果: 0

select nvl2('','1','2') from dual;

--结果:2

select nvl2('0','1','2') from dual;

--结果:1

原文链接:
相关文章
最新更新