我可以在此查询中使用IF语句吗?

时间:2011-03-03 15:19:34

标签: sql

您好我想知道我是否可以在以下查询中使用IF语句..

select * from Table
Where Field1 = 'john' and
if Field2 = 'Mike'
Then(dbo.StateId(gp.SiD) Like '%' + @StateName +'%'))
Else Nothing**

由于

3 个答案:

答案 0 :(得分:2)

没有

SELECT *
FROM   Table
WHERE  Field1 = 'john'
       AND ( Field2 <> 'Mike'
              OR dbo.StateId(gp.SiD) LIKE '%' + @StateName + '%' )  

(您的示例代码并未向我说明如果Field2NULL会发生什么情况)

答案 1 :(得分:0)

我认为 SELECT/CASE 会对您要做的事情有所帮助

答案 2 :(得分:0)

select * 
   from Table
   Where Field1 = 'john' 
     and case when Field2 = 'Mike' 
            Then (dbo.StateId(gp.SiD) Like '%' + @StateName +'%')) 
            Else ( true or false based on inclusion ) end
相关问题