Heim >Datenbank >MySQL-Tutorial >Wie funktioniert der CASE-Ausdruck von MySQL wie eine Switch-Anweisung?

Wie funktioniert der CASE-Ausdruck von MySQL wie eine Switch-Anweisung?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-05 17:33:02585Durchsuche

How Does MySQL's CASE Expression Function Like a Switch Statement?

Den CASE-Ausdruck von MySQL verstehen

Anders als die intuitive „if“-Anweisung ahmt die CASE-Syntax von MySQL eine „switch“-Anweisung nach. Es bietet zwei unterschiedliche Formate, um Bedingungen auszuwerten und entsprechende Ergebnisse zurückzugeben.

Syntax mit Vergleichsanweisungen:

CASE</p>
<pre class="brush:php;toolbar:false">WHEN user_role = 'Manager' then 4
WHEN user_name = 'Tom' then 27
WHEN columnA <> columnB then 99
ELSE -1 --unknown

ENDE

Mit diesem Format können Sie mehrere Vergleichsbedingungen mithilfe beliebiger gültiger SQL-Ausdrücke angeben. Jede „WHEN“-Klausel wertet ihre Bedingung aus, und wenn sie wahr ist, wird die entsprechende Anweisung ausgeführt.

Syntax mit einem einzelnen Wert:

CASE user_role</p>
<pre class="brush:php;toolbar:false">WHEN 'Manager' then 4
WHEN 'Part Time' then 7
ELSE -1 --unknown

END

Diese prägnante Form geht davon aus, dass Sie nur einen Wert untersuchen und ermöglicht Ihnen die Angabe mehrerer „WHEN“-Bedingungen direkt nach dem CASE-Ausdruck. Die „ELSE“-Klausel ist optional und stellt einen Fallback-Wert bereit, wenn keine der „WHEN“-Bedingungen erfüllt ist.

Anwendung auf Ihr Beispiel:

Um eine neue zu generieren Feld „role_order“ basierend auf dem Feld „user_role“ können Sie die zweite Syntax wie folgt verwenden:

CASE user_role</p>
<pre class="brush:php;toolbar:false">WHEN 'Manager' then 5
WHEN 'Part Time' then 8
ELSE -1 --unknown

END

Dieser Ausdruck weist „role_order“ den Wert 5 zu, wenn „user_role“ „Manager“ ist, 8, wenn „user_role“ „Teilzeit“ ist, und -1, wenn keine dieser Bedingungen erfüllt ist.

Das obige ist der detaillierte Inhalt vonWie funktioniert der CASE-Ausdruck von MySQL wie eine Switch-Anweisung?. 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