MySQL CASE verstehen: Ein umfassender Leitfaden
Bei der Arbeit mit SQL-Datenbanken ist die Manipulation von Daten zur Gewinnung aussagekräftiger Erkenntnisse unerlässlich. Die CASE-Anweisung bietet ein leistungsstarkes Tool zur bedingten Ausführung von SQL-Anweisungen, mit dem Sie komplexe Datentransformationen und Auswertungen durchführen können.
Enthüllung der CASE-Syntax
Es folgt die SQL-CASE-Anweisung ein strukturiertes Format:
CASE WHEN condition1 THEN result1 [WHEN condition2 THEN result2] ... [ELSE default_result] END CASE
So können Sie CASE nutzen, um Ihr gewünschtes Ergebnis zu erzielen:
Beispiel: Rollenaufträge zuweisen
Angenommen, Sie ein Feld in der Tabelle „user_role“ haben, das Rollen wie „Manager“, „Teilzeit“ usw. enthält. Sie möchten ein neues Feld „role_order“ erstellen, das eine Nummer basierend auf der Rolle zuweist.
Lösung mit CASE:
CASE WHEN user_role = 'Manager' THEN 5 WHEN user_role = 'Part Time' THEN 3 ELSE -1 -- Handle unknown roles END CASE
Diese CASE-Anweisung funktioniert wie eine Switch-Anweisung , Auswerten des user_role-Werts und Zuweisen der entsprechenden Role_order-Nummer basierend auf vordefinierten Bedingungen.
Die CASE-Implementierung verstehen
CASE unterscheidet sich von IF-Anweisungen dadurch, dass es als umfassende Bewertungsanweisung fungiert. Es beginnt mit der Auswertung der ersten WHEN-Bedingung und führt das entsprechende Ergebnis aus. Wenn die Bedingung nicht erfüllt ist, wird mit der nächsten WHEN-Bedingung fortgefahren, bis eine passende Bedingung gefunden wird. Wenn keine WHEN-Bedingung zutrifft, liefert die optionale ELSE-Klausel ein Standardergebnis.
Vereinfachte CASE-Syntax für die Auswertung einzelner Werte
Bei der Auswertung von a ist eine alternative Syntax für CASE verfügbar Einzelwert:
CASE value WHEN condition1 THEN result1 [WHEN condition2 THEN result2] ... [ELSE default_result] END CASE
Diese Syntax vereinfacht die Anweisung bei der Untersuchung eines bestimmten Werts, beispielsweise im Beispiel der Überprüfung des user_role-Werts.
Das obige ist der detaillierte Inhalt vonWie kann ich die CASE-Anweisung verwenden, um Werte basierend auf Bedingungen in MySQL zuzuweisen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!