Heim >Datenbank >MySQL-Tutorial >Wie kann ich IF-THEN-Logik in SQL-SELECT-Anweisungen implementieren?

Wie kann ich IF-THEN-Logik in SQL-SELECT-Anweisungen implementieren?

Barbara Streisand
Barbara StreisandOriginal
2025-01-22 15:27:09511Durchsuche

How Can I Implement IF-THEN Logic in SQL SELECT Statements?

Implementieren Sie die IF-THEN-Logik in der SQL-SELECT-Anweisung

Eine häufige Anforderung bei der SQL-Programmierung besteht darin, Bedingungsprüfungen durchzuführen und basierend auf den Ergebnissen unterschiedliche Ergebnisse zurückzugeben. In diesem Artikel wird erläutert, wie die IF...THEN-Logik in einer SQL-SELECT-Anweisung implementiert wird.

Verwenden Sie die CASE-Anweisung

Die CASE-Anweisung entspricht der IF-Anweisung in SQL. Sie können mehrere Bedingungen und entsprechende Aktionen angeben.

<code class="language-sql">SELECT CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ELSE result3
END AS conditional_column, *
FROM table_name</code>

Um beispielsweise anhand der Werte „Veraltet“ und „Auf Lager“ zu prüfen, ob ein Produkt verkaufbar ist:

<code class="language-sql">SELECT CAST(
    CASE
        WHEN Obsolete = 'N' OR InStock = 'Y'
        THEN 1
        ELSE 0
    END AS bit) AS Saleable, *
FROM Product</code>

IIF-Anweisung verwenden (SQL Server 2012 und höher)

Die in SQL Server 2012 eingeführte IIF-Anweisung vereinfacht die Syntax bedingter Anweisungen. Das Format lautet wie folgt:

<code class="language-sql">SELECT IIF(condition, result_if_true, result_if_false) AS conditional_column, *
FROM table_name</code>

Das obige Beispiel kann mit der IIF-Anweisung wie folgt umgeschrieben werden:

<code class="language-sql">SELECT IIF(Obsolete = 'N' OR InStock = 'Y', 1, 0) AS Saleable, *
FROM Product</code>

Weitere Anweisungen

  • CASE-Anweisungen können verschachtelt werden, um komplexere Bedingungen zu verarbeiten.
  • Mit dem CAST-Operator kann das Ergebnis in einen bestimmten Datentyp, beispielsweise Boolean, konvertiert werden.
  • Verschachtelte CASE-Anweisungen und IIF-Anweisungen können in Aggregatfunktionen eingebunden werden.

Das obige ist der detaillierte Inhalt vonWie kann ich IF-THEN-Logik in SQL-SELECT-Anweisungen implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn