oracle nvl2函数用法
时间: 2023-07-26 17:13:01 浏览: 154
Oracle NVL2 函数的语法如下:
```
NVL2( value1, value2, value3 )
```
该函数接受三个参数:value1,value2 和value3。
- 如果value1不为NULL,则返回value2;
- 如果value1为NULL,则返回value3。
示例:
```
SELECT NVL2(NULL, 'value3', 'value2') FROM DUAL;
```
输出:
```
'value3'
```
```
SELECT NVL2('value1', 'value2', 'value3') FROM DUAL;
```
输出:
```
'value2'
```
相关问题
oracle nvl2函数延伸,NVL2(nvl2函数用法)
Oracle的NVL2函数是一个非常有用的函数,它可以根据指定的条件返回不同的值。它的语法如下:
NVL2(expr1, expr2, expr3)
其中,expr1是要测试的表达式,如果它不是NULL,则返回expr2,否则返回expr3。这类似于IF-THEN-ELSE语句。
NVL2函数的应用非常广泛,它可以用于处理字符串、数字、日期等各种类型的数据。下面是一些NVL2函数的例子:
1. 如果表中的某个字段为NULL,则把它替换为0:
SELECT NVL2(salary, salary, 0) FROM employees;
2. 如果表中的某个字段为NULL,则把它替换为另一个字段的值:
SELECT NVL2(salary, salary, commission_pct) FROM employees;
3. 如果表中的某个字段为NULL,则把它替换为当前日期:
SELECT NVL2(hire_date, hire_date, SYSDATE) FROM employees;
4. 如果表中的某个字段为NULL,则把它替换为另一个字段的值,并把结果转换为大写:
SELECT NVL2(job_id, UPPER(job_id), UPPER(department_name)) FROM employees;
总之,NVL2函数是一个非常实用的函数,它可以帮助我们更方便地处理NULL值。
oracle nvl和nvl2函数用法
Oracle的NVL函数和NVL2函数都是用来处理空值的函数,它们属于Oracle数据库提供的SQL函数。
NVL函数:
NVL函数的作用是将空值(NULL)转换为指定的值。它的用法是NVL(expr1, expr2),其中expr1是可能为NULL的表达式,expr2是当expr1为NULL时,用来替换的非NULL值。如果expr1不为NULL,函数返回expr1的值;如果expr1为NULL,函数返回expr2的值。
示例:
```sql
SELECT NVL(column_name, 'replacement_value') FROM table_name;
```
这个例子中,如果column_name字段的值为NULL,那么将被'replacement_value'所替换。
NVL2函数:
NVL2函数用来判断某个字段值是否为NULL,并根据是否为NULL返回不同的值。它的用法是NVL2(expr1, expr2, expr3),其中expr1是被检查的表达式,expr2是expr1不为NULL时返回的值,expr3是expr1为NULL时返回的值。
示例:
```sql
SELECT NVL2(column_name, 'column_name is not NULL', 'column_name is NULL') FROM table_name;
```
在这个例子中,如果column_name的值不为NULL,函数返回'column_name is not NULL';如果column_name的值为NULL,则返回'column_name is NULL'。
阅读全文