IF
Entsprechung in PostgreSQL:
Gibt einen von zwei Werten zurück, je nachdem, ob die Bedingung wahr ist.
MySQL 8.1
IF(condition, value_if_true, value_if_false)Parameter
- conditionBOOLEAN
- Zu prüfende Bedingung
- value_if_true
- Wert, wenn die Bedingung wahr ist
- value_if_false
- Wert, wenn die Bedingung falsch oder NULL ist
Rückgabewert
value_if_true oder value_if_false; eine Bedingung gleich NULL oder 0 gilt als falsch
Beispiele
Auswahl nach Bedingung
MySQL 8.1
SELECT IF(10 > 20, 'yes', 'no') AS result;Beschriftung nach Geburtsjahr
MySQL 8.1
SELECT member_name,
birthday,
IF(
YEAR(birthday) < 1980,
'before 1980',
'since 1980'
) AS born
FROM FamilyMembers;NULL-Bedingung gilt als falsch
MySQL 8.1
SELECT IF(NULL, 'yes', 'no') AS result;Details
Die Bedingung ist wahr, wenn sie weder 0 noch NULL ist. Ein String in der Bedingung wird in eine Zahl umgewandelt: IF('abc', 'yes', 'no') gibt no zurück. In PostgreSQL gibt es die Funktion IF nicht — dasselbe schreibst du dort mit CASE WHEN condition THEN a ELSE b END.