嗨我有一个表,四列id,名称,start_date,end_date。SQL查询与日期比较在哪里条款
下面是我尝试从表中检索行的存储过程。
我将被传递@status作为将具有值的参数(有效,2为无活性的1和null)
Alter procedure dbo.GetName(@id int, @statusDate VARCHAR(50))
begin
select id, name from customer
where id = @id
AND ((@statusDate = 1 AND GETDATE() BETWEEN start_date AND end_date)
OR (@statusDate = 2 AND GETDATE() BETWEEN start_date AND end_date)
OR @statusDate IS NULL)
end
条件是
- 如果@statusDate是1然后检索具有开始日期和结束日期之间的今天日期的行
- 如果@statusDate是2,则检索在开始日期和结束日期之间没有今天日期的行
- 如果@statusDate为null,则检索所有的行
请帮我修改和条件,使其检索基于上述条件
什么结果你跟你的查询得到些什么?他们怎么了? – StevieG
我添加了具有start_date和end_date作为未来日期的示例行。如果我通过将@statusDate作为1来执行查询,我仍然可以获取行。 – user982129