Mysql
 sql >> Base de données >  >> RDS >> Mysql

IF... ELSE dans la clause WHERE MySQL

La syntaxe de IF est :

 IF(test_expr, then_expr, else_expr)

vous pouvez donc faire quelque chose comme IF(test1, result1, IF(test2, result2, else_result)) mais ce ne serait pas très lisible, donc il y a le CASE expression à cette fin.

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

Si vous souhaitez conditionner une colonne de sélection, vous pouvez utiliser le IF directement dans les champs de sélection :

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

Notez qu'une expression dans une clause where est soit TRUE ou FALSE , donc en écrivant

IF(expr, TRUE, FALSE)

est le même que

expr