【发布时间】:2017-04-22 03:53:52
【问题描述】:
我有这个存储过程,我需要检查@DateChk == 1,然后我想在 SP 中的 SQL 语句中添加 WHERE 子句。如果为 0,则不应有任何 WHERE 子句。
我如何编写这样的函数?在一个程序中,我可以只构建要传递给服务器的字符串,但我还没有找到在 SQL 服务器中执行此操作的任何方法。
SELECT dateDay, SUM(nok) as NOK, SUM(ok) as OK, (SUM(ok) + SUM(nok)) as 'Total'
FROM #st
SELECT CASE @DateChk
WHEN 1: WHERE dateDay BETWEEN '2016-08-01' AND '2016-08-31'
类似这样,如果@DateChk = 1,则应添加 WHERE,否则获取所有记录。
【问题讨论】:
标签: sql sql-server stored-procedures dynamic