如何动态添加条件到TSQL Where子句?
我试图避免在两个完整的Select语句之间进行选择.以下内容与我的实际代码非常相似,但不太复杂.
SELECT COUNT(*)
FROM MyTable
WHERE ShipDate >= @FirstDayOfMonth
AND ShipDate < @LastDayOfMonth
AND OrderType = 1
AND NOT OrderCode LIKE '%3'
AND NOT OrderCode LIKE '%4';
Run Code Online (Sandbox Code Playgroud)
我希望能够根据存储过程参数的值添加或删除最后两个条件.
即:如果@ExcludePhoneOrders = False,请不要使用最后两个Where子句条件.
我不确定你是打算包括还是排除,但这里有一个刺.
SELECT COUNT(*)
FROM MyTable
WHERE ShipDate >= @FirstDayOfMonth
AND ShipDate < @LastDayOfMonth
AND OrderType = 1
AND (@ExcludePhoneOrders = False OR (NOT OrderCode LIKE '%3' AND NOT OrderCode LIKE '%4'));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4157 次 |
| 最近记录: |