SQL between in case in where 子句
SQL between in case in where clause
我尝试编写一个查询,其中 return 数据 Date_column 在参数结果和参数 -12 个月之间,当参数不为空或 Date_column 不为空,而参数为无效的。你能帮助我吗?
我尝试了很多变体,但总是有一些错误。
declare @my_date DateTime
select * from MyTable
where
case when @my_date is null
then Date_column is not null
else Date_column between @my_date and DATEADD(MONTH, -12, @my_date)
end
你像下面这样写你的条件,没有 case
表达式
where (Date_column is not null and @my_date is null ) or
(Date_column between DATEADD(MONTH, -12, @my_date) and @my_date)
我尝试编写一个查询,其中 return 数据 Date_column 在参数结果和参数 -12 个月之间,当参数不为空或 Date_column 不为空,而参数为无效的。你能帮助我吗? 我尝试了很多变体,但总是有一些错误。
declare @my_date DateTime
select * from MyTable
where
case when @my_date is null
then Date_column is not null
else Date_column between @my_date and DATEADD(MONTH, -12, @my_date)
end
你像下面这样写你的条件,没有 case
表达式
where (Date_column is not null and @my_date is null ) or
(Date_column between DATEADD(MONTH, -12, @my_date) and @my_date)