数据库中的 NVL() 方法怎么用 ?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库中的 NVL() 方法怎么用 ?相关的知识,希望对你有一定的参考价值。
1、nvl(exp1,exp2);作用是如果表达式exp1为空则返回exp2表达式,如果exp1表达式不为空则返回exp1表达式。
2、但nvl函数有一个前提条件是两个参数的数据类型要一样,不然会报错误。如下图由于comm是数字类型,所以第二个参数不能是其它类型。
3、nvl2函数语法nvl2(exp1,exp2,exp3);这个函数需要有三个参数。它的使用是如果exp1为空则返回exp3,如果exp1不为空则返回exp2。
4、但有一点需要注意的是nvl2函数中exp2与exp3数据类型要一样,不然也会报错。
5、但nvl2函数另外一点也需要注意,就是当exp2与exp3两个参数数据类型不一样的时候,exp3参数数据类型会转换为exp2数据类型,但前提是可以进行转换才可以,如果不能进行转换是会报错误的。
6、nullif函数语法,nullif(exp1,exp2);它的作用是如果exp1与exp2两个参数的值相等则返回空,如果不相等则返回exp1,同样两个参数的数据类型也要一样。
nvl(字段,'NA')
意思如果字段为空则输出NA的字符串 参考技术C nvl(字段,xx) 如果字段为空则替换为xx。
oracle里nvl,to_char,decode这些函数怎么用啊?
Oracle提供了一些逻辑判断函数,这些函数可以在查询中使用。
1. nvl :针对空值进行测试
函数原型为:NVL(testValue,SubstituteValue)
常见的用法是 Select max(score) From SC Where Name=‘Jerry’
有时max(score)为空,也就是说Jerry并没有考试记录,这时我们用"No Record"标注一下:
Select NVL(max(score),"No Record") From SC;
还有一个NVL2函数跟其相似,函数原型为: NVL(testValue,SubValue1,SubValue2)
NVL2函数实现的是若testValue为NULL,返回SubValue1,否则返回SubValue2。
2.Decode函数
Decode函数的原型为: Decode(testValue, if1, then1, if2,then2.....else).
针对testValue进行测试,若testValue等于if1则返回then1,若testValue等于if2则返回then2,....若都没有返回,刚返回else. 示例如下:
若我们用Decode可以这样实现:
SELECT class, course,
DECODE (student,
\'A\', \'Anco\',
\'B\', \'Bily\',
\'C\', \'Candy\',
\'D\', \'Davi\',
\'E\', \'Eve\',
\'F\', \'Fion\'
) AS en_name
FROM studentinfo
3. to_char函数功能,就是将数值型或者日期型转化为字符型,转换过程中可以进行格式化处理,函数原型较多,示例如下:
以上是关于数据库中的 NVL() 方法怎么用 ?的主要内容,如果未能解决你的问题,请参考以下文章