Oracle SQL - 如果多列中的一列不为空,则获取所有行

时间:2015-11-02 08:02:08

标签: sql oracle

需要检查多列之间的OR条件。

select * from tableA where (COL1 or Col2) is not null

如何获取此内容?

我的实际查询类似于:

select b.empname,b.hours,b.minutes from table1 a,table2 b
where a.pk_id=b.fk_id and a.type='UT'
and a.SOME_NUMBER='123' and b.hours is not null or b.minutes is not null;

  

b.hours不为null或b.minutes不为null;

正在获取重复记录

3 个答案:

答案 0 :(得分:1)

select b.empname,b.hours,b.minutes from table1 a,table2 b
where a.pk_id=b.fk_id and a.type='UT'
and a.SOME_NUMBER='123' and COALESCE(b.hours,b.minutes) is not null;

对我来说很好。

感谢大家的输入

答案 1 :(得分:0)

只需使用

   select * from tableA where COL1 is not null or Col2 is not null

答案 2 :(得分:0)

只是select * from tableA where COL1 IS NOT NULL or Col2 IS NOT NULL