oracle is null 的用法问题?问:存储过程中我的变量为: v_status varchar2(5) :null在语句中这样使用:SEL
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
