Bedingte WHERE-Klausel in SQL Server
In SQL Server können Sie mit der bedingten WHERE-Klausel verschiedene Filterbedingungen basierend auf bestimmten Bedingungen angeben. Dies ist nützlich, wenn Sie Daten basierend auf dem Wert eines Parameters oder einer Variablen in Abfrageergebnisse einschließen oder ausschließen müssen.
Stellen Sie sich das folgende Szenario vor:
Sie möchten Daten aus einer Tabelle mit dem Namen [MM] basierend auf den folgenden Kriterien abrufen:
Die CASE-Anweisung, die Sie ursprünglich zu verwenden versuchten, funktioniert in diesem Fall nicht. Stattdessen können Sie die folgende bedingte WHERE-Klausel verwenden:
<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 diesem Code:
Durch die Verwendung von bedingten WHERE-Klauseln können Sie flexiblere und dynamischere SQL-Abfragen schreiben, ohne dynamisches SQL oder Problemumgehungen mit if-else-Anweisungen verwenden zu müssen. Weitere Informationen zu bedingten WHERE-Klauseln finden Sie in der Dokumentation, die in der bereitgestellten Antwort verlinkt ist.
Das obige ist der detaillierte Inhalt vonWie kann ich eine bedingte WHERE-Klausel in SQL Server implementieren, um Daten basierend auf einem Parameter zu filtern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!