Oracle中的NVL()、NVL2()、NULLIF()、Coalesce()函数
2014-01-16 20:11
633 查看
大家先来看看下面这道简单的题目:
1. TEST表包含两个列,TESTCOL定义为数据类型NUMBER(10),TESTCOL_2定义为数据类型VARCHAR2(10)。在Oracle中发出下列语句:insert into test(testcol,testcol_2) values (null, ‘FRANCIS’)
A.Oracle返回结果0 B.Oracle返回结果EMPTY
C.Oracle返回结果NULL D.Oracle返回错误结果
正确答案是:D
对NVL()这个简单的函数没能注意其细节,现将NVL()、NVL2()、NULLIF()、Coalesce()函数的用法总结如下:
在学习以上函数之前我们必须明白什么是Oracle中的空值null。
1.NVL函数
NVL (expr1, expr2)->expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致。
2.NVL2函数
NVL2 (expr1, expr2, expr3) ->expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型。
3.NULLIF函数
NULLIF (expr1, expr2) ->相等返回NULL,不等返回expr1
4. Coalesce函数
Coalese函数的作用是的NVL的函数有点相似,其优势是有更多的选项。
格式如下:
Coalesce(expr1, expr2, expr3….. exprn)
表示可以指定多个表达式的占位符。所有表达式必须是相同类型,或者可以隐性转换为相同的类型。
返回表达式中第一个非空表达式,如有以下语句: SELECT COALESCE(NULL,NULL,3,4,5) FROM dual 其返回结果为:3
如果所有自变量均为 NULL,则 COALESCE 返回 NULL 值。 COALESCE(expression1,...n) 与此 CASE 函数等价:
这个函数实际上是NVL的循环使用,在此就不举例子了。
1. TEST表包含两个列,TESTCOL定义为数据类型NUMBER(10),TESTCOL_2定义为数据类型VARCHAR2(10)。在Oracle中发出下列语句:insert into test(testcol,testcol_2) values (null, ‘FRANCIS’)
A.Oracle返回结果0 B.Oracle返回结果EMPTY
C.Oracle返回结果NULL D.Oracle返回错误结果
正确答案是:D
对NVL()这个简单的函数没能注意其细节,现将NVL()、NVL2()、NULLIF()、Coalesce()函数的用法总结如下:
在学习以上函数之前我们必须明白什么是Oracle中的空值null。
1.NVL函数
NVL (expr1, expr2)->expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致。
2.NVL2函数
NVL2 (expr1, expr2, expr3) ->expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型。
3.NULLIF函数
NULLIF (expr1, expr2) ->相等返回NULL,不等返回expr1
4. Coalesce函数
Coalese函数的作用是的NVL的函数有点相似,其优势是有更多的选项。
格式如下:
Coalesce(expr1, expr2, expr3….. exprn)
表示可以指定多个表达式的占位符。所有表达式必须是相同类型,或者可以隐性转换为相同的类型。
返回表达式中第一个非空表达式,如有以下语句: SELECT COALESCE(NULL,NULL,3,4,5) FROM dual 其返回结果为:3
如果所有自变量均为 NULL,则 COALESCE 返回 NULL 值。 COALESCE(expression1,...n) 与此 CASE 函数等价:
这个函数实际上是NVL的循环使用,在此就不举例子了。
相关文章推荐
- oracle NVL、NVL2,、NULLIF、COALESCE函数的用法
- Oracle 中 nvl、nvl2、nullif、coalesce、decode 函数的用法详解
- Oracle 中 nvl、nvl2、nullif、coalesce、decode 函数的用法详解
- oracle中的NVL,NVL2,NULLIF,COALESCE函数使用
- Oracle中的NVL,NVL2,NULLIF以及COALESCE函数使用
- Oracle 中 nvl、nvl2、nullif、coalesce、decode 函数的用法详解
- oracle一些重要函数:nvl, nvl2, nullif,COALESCE,decode,case
- Oracle中的 NVL,NVL2,NULLIF,COALESCE 函数
- Oracle中处理空值的函数nvl-nvl2-lnnvl-nullif的用法
- hive-NVL、Coalesce、NVL2、NULLIF函数
- Oracle nvl、nvl2、nullif、decode、case函数详解
- oracle函数nvl, nvl2, nullif
- oracle中的NVL,NVL2,NULLIF,COALESCE几个通用函数
- ORACLE 函数 NVL, NVL2, NULLIF
- oracle中的NVL,NVL2,NULLIF,COALESCE几个通用函数(转)
- oracle中的NVL,NVL2,NULLIF,COALESCE几个通用函数
- oracle中的NVL,NVL2,NULLIF,COALESCE几个通用函数
- oracle中的NVL,NVL2,NULLIF,COALESCE几个通用函数
- Oracle NVL,NVL2,COALESCE函数学习
- Oracle中的NVL,NVL2,NULLIF以及COALESCE