問題:
如何在 SQL Server 中建立條件 WHERE 子句,尤其是在條件根據參數值變化的情況下?
解答:
要建立條件 WHERE 子句,可以在 WHERE 子句中使用一個表達式,該表達式對於滿足條件的記錄計算結果為 TRUE,對於不符合條件的記錄計算結果為 FALSE。考慮以下查詢:
<code class="language-sql">SELECT DateAppr, TimeAppr, TAT, LaserLTR, Permit, LtrPrinter, JobName, JobNumber, JobDesc, ActQty, (ActQty-LtrPrinted) AS L, (ActQty-QtyInserted) AS M, ((ActQty-LtrPrinted)-(ActQty-QtyInserted)) AS N FROM [test].[dbo].[MM] WHERE DateDropped = 0 AND ( (ISNULL(@JobsOnHold, 0) = 1 AND DateAppr >= 0) OR (ISNULL(@JobsOnHold, 0) != 1 AND DateAppr != 0) )</code>
在這個查詢中,WHERE 子句包含以下條件:
<code class="language-sql">(ISNULL(@JobsOnHold, 0) = 1 AND DateAppr >= 0) OR (ISNULL(@JobsOnHold, 0) != 1 AND DateAppr != 0)</code>
此條件式對於滿足下列條件的記錄計算結果為 TRUE:
透過使用此條件表達式,您可以根據 @JobsOnHold 參數的值動態地將不同的條件套用到查詢。這允許在過濾資料時具有更大的靈活性和控制能力。
以上是如何在 SQL Server 中實作基於參數的條件 WHERE 子句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!