Heim >Datenbank >MySQL-Tutorial >Wie implementiert man eine bedingte WHERE-Klausel basierend auf einem Parameter in SQL Server?
Frage:
Wie erstelle ich eine bedingte WHERE-Klausel in SQL Server, insbesondere wenn sich die Bedingung basierend auf Parameterwerten ändert?
Antwort:
Um eine bedingte WHERE-Klausel zu erstellen, können Sie einen Ausdruck in der WHERE-Klausel verwenden, der für Datensätze, die die Bedingung erfüllen, TRUE und für Datensätze, die die Bedingung nicht erfüllen, TRUE ergibt. Betrachten Sie die folgende Abfrage:
<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>
In dieser Abfrage enthält die WHERE-Klausel die folgenden Bedingungen:
<code class="language-sql">(ISNULL(@JobsOnHold, 0) = 1 AND DateAppr >= 0) OR (ISNULL(@JobsOnHold, 0) != 1 AND DateAppr != 0)</code>
Dieser bedingte Ausdruck ergibt TRUE für Datensätze, die Folgendes erfüllen:
Mithilfe dieses bedingten Ausdrucks können Sie basierend auf dem Wert des @JobsOnHold-Parameters dynamisch verschiedene Bedingungen auf die Abfrage anwenden. Dies ermöglicht eine größere Flexibilität und Kontrolle beim Filtern von Daten.
Das obige ist der detaillierte Inhalt vonWie implementiert man eine bedingte WHERE-Klausel basierend auf einem Parameter in SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!