我想编写一个CASE
语句来查找基于@sFRomDate
的两个日期之间的数据是否为空。鉴于下面的查询不按我的要求工作。请帮我找到一个合适的解决方案SQL Server 2008中WHERE子句中的CASE语句
SELECT
*
FROM
tbl_emp_data
WHERE
CASE
WHEN @sFRomDate!=''
THEN SubmissionDate BETWEEN @sFRomDate AND DATEADD(DAY,1,@sToDate)
ELSE
SubmissionDate = NULL
END
你正在尝试做什么将不起作用。你想如何处理'@ sFRomDate'为空(或'NULL')的情况? –
'CASE'是T-SQL中的一个**表达式**(如'a + b'),它最终返回一个单一的原子值。你**不能**用它来控制你的代码流,或者有条件地运行代码片段。 –