1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > oracle+nvlif函数 Oracle中的NVL() NVL2() NULLIF() Coalesce()函数

oracle+nvlif函数 Oracle中的NVL() NVL2() NULLIF() Coalesce()函数

时间:2022-06-15 02:14:31

相关推荐

oracle+nvlif函数 Oracle中的NVL() NVL2() NULLIF() Coalesce()函数

大家先来看看下面这道简单的题目:

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的循环使用,在此就不举例子了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。