我有一个表单,用户可以从中拉取报告。 在表单中,他们可以选择开始日期和结束日期,或者将两个值都设置为null。如果他们选择了null,则返回所有effectivedate小于GETDATE()的记录。 CASE语句似乎不喜欢between,也不喜欢'<'操作符。
以下是我的脚本
SELECT * FROM tbReport
WHERE
EffectiveDate
CASE
WHEN (@StartDate IS NOT NULL AND @EndDate IS NOT NULL)
THEN BETWEEN (@StartDate AND @EndDate)
ELSE
THEN < GETDATE()
END