比如一个table中有A字段和B字段,两个字段的值可能相等、可能不等、可能都为空、可能其中一个为空
A B
valueB
以上例子是A为空字符,如果sql语句写成select * from table where A<>B 这样就是无记录返回
如果光看两条记录的话确实是不相等,请问oracle中如何写这条sql语句才能返回记录
oracle字段为''或者NULL时做比较
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- dy243733608 2010-09-27 12:39关注
select * from table where nvl(A,B||'0')<>B;
如果A为空就会返回B0了,这样就可以返回结果了.如果B也可能为空的话可以这样:
select * from table where nvl(A,B||'0')<>nvl(B,A||'0');本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报