我希望使用一个查询根据这些条件显示表中的所有记录。
我将datepublish作为文本框,dateexpired作为文本框并发布为复选框。
1)如果我输入datepublish,则内容将在不过期的情况下发布。
2)如果我输入datexpire,内容将立即开始发布,并在到期时到期
3)如果我输入两个日期,那么内容将从datepublish开始,并在dateexpired结束时到期
另一件事是
4)如果我检查了发布,那么它将绕过日期。
如何使用单个查询显示所有记录?。(我可以使用光标执行此操作)
答案 0 :(得分:1)
SELECT *
FROM Table
WHERE ((@datePublish IS NULL OR Table.datePublish > @datePublish)
AND (@dateExpired IS NULL OR Table.dateExpired < @dateExpired))
OR @published = 1
如果您的任何一个日期值为空,则将NULL传递给该参数的存储过程(因此该参数不会限制结果集),如果选中该复选框,则@published = 1。