当前位置: 代码迷 >> Oracle面试 >> oracle is null 的用法有关问题
  详细解决方案

oracle is null 的用法有关问题

热度:2524   发布时间:2013-02-26 00:00:00.0
oracle is null 的用法问题?
问:存储过程中我的变量为:
 v_status varchar2(5) :=null;

在语句中这样使用:

SELECT * FROM A
WHERE (v_status is nul or A.status=v_status or A.status=1)

请问当v_status满足条件为null的时候,还会不会执行or后面的的语句?

注:因为正常情况在说,or前后的条件语句都会被执行..

------解决方案--------------------------------------------------------
会啊,或者嘛!
------解决方案--------------------------------------------------------
当 v_status 满足条件为 null 的时候,实际是不判断后面的 or 之后的条件了
也就是说将 A 表里所有的数据查询出来

------解决方案--------------------------------------------------------
v_status is null  这一句 就说明是全真了

怀疑你是不是写错了?  应该是 A.status is null 吧?
------解决方案--------------------------------------------------------
Yes, I think 3# floor is correct. The sentence is written wrong.

SELECT * FROM A
WHERE (A.status is nul or A.status=v_status or A.status=1)

------解决方案--------------------------------------------------------
不会,前面为真就已经可以确定整个表达式为真。
------解决方案--------------------------------------------------------
 v_status varchar2(5) :=null;

在语句中这样使用:

SELECT * FROM A
WHERE (v_status is nul or A.status=v_status or A.status=1)

结果就是
SELECT * FROM A
  相关解决方案