MySQL 8.4
IF(condition, value_if_true, value_if_false)- condition
- Condición que se compruebaBOOLEAN
- value_if_true
- Valor si la condición es verdadera
- value_if_false
- Valor si la condición es falsa o NULL
Valor devuelto
value_if_true o value_if_false; una condición igual a NULL o 0 se considera falsa
Ejemplos
Elección según una condición
MySQL 8.4
SELECT IF(10 > 20, 'yes', 'no') AS result;Etiqueta según el año de nacimiento
MySQL 8.4
SELECT member_name,
birthday,
IF(
YEAR(birthday) < 1980,
'before 1980',
'since 1980'
) AS born
FROM FamilyMembers;Una condición NULL se considera falsa
MySQL 8.4
SELECT IF(NULL, 'yes', 'no') AS result;Detalles
La condición es verdadera si no es 0 ni NULL. Una cadena en la condición se convierte en número: IF('abc', 'yes', 'no') devuelve no. En PostgreSQL no existe la función IF: allí lo mismo se escribe con CASE WHEN condition THEN a ELSE b END.