oracle中NVL的问题,谁能帮我解释下下面三种的区别吗?
select*fromaps_testtwheret.a='a'andt.d!='d';select*fromaps_testtwheret.a='a'andnvl(t....
select * from aps_test t where t.a='a' and t.d!='d';
select * from aps_test t where t.a='a' and nvl(t.d,'')!='d';
select * from aps_test t where t.a='a' and nvl(t.d,' ')!='d'; 展开
select * from aps_test t where t.a='a' and nvl(t.d,'')!='d';
select * from aps_test t where t.a='a' and nvl(t.d,' ')!='d'; 展开
2个回答
2013-06-03
展开全部
【语法】NVL (expr1, expr2)
【功能】若expr1为NULL,返回expr2;expr1不为NULL,返回expr1。
注意两者的类型要一致
SQL> SELECT NVL(NULL, 1) AS A, NVL(2, 1) AS B FROM dual;
A B
---------- ----------
1 2
因为 NULL = 'd' 与 NULL != 'd' 都会返回 false.
因此需要用 NVL , 来把 NULL 的数据, 转换掉。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询