首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

能否在SQL的Where条件中能使用IF判断吗.

2013-11-06 
可否在SQL的Where条件中能使用IF判断吗.?写一个存储过程,有一个@countryID参数,可能为0,当等于0的时候在SQ

可否在SQL的Where条件中能使用IF判断吗.?
写一个存储过程,有一个@countryID参数,可能为0,当等于0的时候
在SQL语句的结尾就不需要对 CountryID进行判断.
在SQL的Where条件中能使用IF判断吗.?
大概类似
SELECT * FROM TB1
INNER JOIN TB2
ON....
WHERE  ..........

AND m.style_name LIKE '%' + @style_name + '%'  
if(@country_ID<>0)
           {
             AND AR_Country_Master.country_id=@country_ID
}        
          order by  a.Inspection_Date desc 
这种逻辑,可以实现吗?
[解决办法]
给个例子你自己改,你修改@a的值就看到效果了

DECLARE @sql VARCHAR(max)
SET @sql=''
DECLARE @a INT
SET @a=0
SELECT @sql=@sql+'select * from sys.sysprocesses where spid>50 '+CASE WHEN @a>0 THEN ' and  kpid>3000' ELSE + '' END 
PRINT (@sql)

热点排行