Heim  >  Artikel  >  Datenbank  >  Unter welchen Umständen gibt die MySQL-CASE-Anweisung NULL zurück?

Unter welchen Umständen gibt die MySQL-CASE-Anweisung NULL zurück?

王林
王林nach vorne
2023-08-25 13:45:121497Durchsuche

MySQL CASE语句在什么情况下返回NULL?

Wir wissen, dass die CASE-Anweisung das nach der ELSE-Anweisung angegebene Ergebnis zurückgibt, wenn kein Vergleich vorliegt oder die Bedingung wahr ist. Wenn es jedoch keine ELSE-Anweisung gibt, dann gibt die CASE-Anweisung in diesem Fall NULL zurück. Hier ist ein Beispiel, um es zu demonstrieren.

Beispiel

mysql> Select CASE 100
    -> WHEN 150 THEN 'It is matched'
    -> WHEN 200 THEN 'It is not matched'
    -> END As 'It Returns NULL';
+-----------------+
| It Returns NULL |
+-----------------+
| NULL            |
+-----------------+
1 row in set (0.00 sec)

Die folgende Abfrage verwendet Daten aus der Tabelle „Studenten“ und gibt NULL zurück, da keine Studenten zum WI-Land gehören.

mysql> Select SUM(CASE WHEN country = 'USA' THEN 1 ELSE 0 END) AS USA,
    -> SUM(CASE WHEN country = 'UK' THEN 1 ELSE 0 END) AS UK,
    -> SUM(CASE WHEN country = 'INDIA' THEN 1 ELSE 0 END) AS INDIA,
    -> SUM(CASE WHEN country = 'Russia' THEN 1 ELSE 0 END) AS Russia,
    -> SUM(CASE WHEN country = 'France' THEN 1 ELSE 0 END) AS France,
    -> SUM(CASE WHEN country = 'NZ' THEN 1 ELSE 0 END) AS NZ,
    -> SUM(CASE WHEN country = 'Australia' THEN 1 ELSE 0 END) AS Australia,
    -> SUM(CASE WHEN country = 'WI' THEN 1 END) AS WI
    -> From Students;
+------+------+-------+--------+--------+------+-----------+------+
| USA  | UK   | INDIA | Russia | France | NZ   | Australia | WI   |
+------+------+-------+--------+--------+------+-----------+------+
| 2    | 1    | 2     | 1      | 1      | 1    | 1         | NULL |
+------+------+-------+--------+--------+------+-----------+------+
1 row in set (0.00 sec)

Das obige ist der detaillierte Inhalt vonUnter welchen Umständen gibt die MySQL-CASE-Anweisung NULL zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen