sql中的IF / ELSE语句

时间:2015-09-14 18:44:33

标签: sql if-statement select statements

我的SQL声明:

select * 
from categories 
where onair = 1 and City LIKE 's%';

第一部分:

select * 
from categories 
where onair = 1

第二部分:

and city like 's%';

如果city列不是null,那么我也想执行第二部分。否则,只执行第一部分。

2 个答案:

答案 0 :(得分:3)

您可以通过逻辑andor运算符的组合来创建此行为:

SELECT *
FROM   categories
WHERE  onair = 1 AND (city IS NULL OR city LIKE 's%');

答案 1 :(得分:1)

案件陈述是你的朋友......

select *, 
case when City like 's%' then City
else '' end as City 
from categories where onair=1

如果它像'%'那样只返回城市。否则,它将返回空白。您的其他标准是安全分开的..