sql >> Base de Datos >  >> RDS >> Mysql

IF... ELSE en la cláusula WHERE MySQL

La sintaxis de IF es :

 IF(test_expr, then_expr, else_expr)

entonces podría hacer algo como IF(test1, result1, IF(test2, result2, else_result)) pero no sería muy legible, así que está el CASE expresión para tal fin.

CASE WHEN  test1 THEN result1
WHEN test2 THEN result2
ELSE else_result END

Si desea condicionar una columna de selección, puede usar el IF en los campos seleccionados directamente:

SELECT IF(match, nl_column en_column) AS lang 
FROM table

Tenga en cuenta que una expresión en una cláusula where es TRUE o FALSE , así que escribiendo

IF(expr, TRUE, FALSE)

es lo mismo que

expr