您好我在stackoverflow中搜索我无法得到答案。任何人都可以帮我解决这个问题。
declare @val varchar(800)
set @val='current data'
select * from [FeatureCal_GrowthPlan] where snapshot_dt= case when @val='current data' then '2017-01-01' else @val end
以上查询工作正常。但我的要求类似于下面的
declare @val varchar(800)
set @val='current data'
select * from [FeatureCal_GrowthPlan] where snapshot_dt= case when @val='current data' then is null else @val end
我想在@ val ='当前数据'为真时选择所有空值,否则选择变量@val所具有的相应日期。
任何想法?提前致谢
答案 0 :(得分:1)
你可以使用它。
declare @val varchar(800)
set @val='current data'
select * from [FeatureCal_GrowthPlan] where
( @val='current data' AND snapshot_dt is null )
OR
( @val <> 'current data' AND snapshot_dt = @val )
答案 1 :(得分:0)
我通过下面的查询得到了答案,如果我错了,那些家伙会纠正我,这对某人有用。
declare @val varchar(800)
set @val='current data'
select * from [FeatureCal_GrowthPlan] where isnull(snapshot_dt,'1900-01-01')= case when @val='current data' then '1900-01-01' else @val end