Referencia de funciones

IF

Equivalente en PostgreSQL:

Devuelve uno de dos valores según si la condición es verdadera.

MySQL 8.4
IF(condition, value_if_true, value_if_false)
condition
Condición que se comprueba
BOOLEAN
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;
result
no

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;
member_namebirthdayborn
Headley Quincey1960-05-13before 1980
Flavia Quincey1963-02-16before 1980
Andie Quincey1983-06-05since 1980
Lela Quincey1985-06-07since 1980
Annie Quincey1988-04-10since 1980
Ernest Forrest1961-09-11before 1980
Constance Forrest1968-09-06before 1980
Wednesday Addams2005-01-13since 1980

Una condición NULL se considera falsa

MySQL 8.4
SELECT IF(NULL, 'yes', 'no') AS result;
result
no

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.

Véase también

Dónde aprenderlo