有沒有寫這個簡單的方法?WHERE子句中的不同條件
WHERE
(
(@IdAgent IS NULL AND IdAgent IS NULL)
OR
(@IdAgent IS NOT NULL AND IdAgent = @IdAgent)
)
有沒有寫這個簡單的方法?WHERE子句中的不同條件
WHERE
(
(@IdAgent IS NULL AND IdAgent IS NULL)
OR
(@IdAgent IS NOT NULL AND IdAgent = @IdAgent)
)
你可以平凡刪除一個測試,因爲=
不會匹配NULL
和非NULL
值:
WHERE
(@IdAgent IS NULL AND IdAgent IS NULL)
OR
IdAgent = @IdAgent
你可以嘗試使用從this answer的方法,其中,當應用到您的情況,看起來像這樣:
WHERE EXISTS (SELECT IdAgent
INTERSECT
SELECT @IdAgent)
您可能需要測試它在特定環境中的性能看看它的運行速度是否比你現在的解決方案慢得多。
很好的解決方案! –
有趣,謝謝! –