Mysql
 sql >> Database >  >> RDS >> Mysql

SE... ALTRO nella clausola WHERE MySQL

La sintassi per IF è :

 IF(test_expr, then_expr, else_expr)

quindi potresti fare qualcosa come IF(test1, result1, IF(test2, result2, else_result)) ma non sarebbe molto leggibile, quindi c'è il CASE espressione a tale scopo.

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

Se vuoi condizionare una colonna selezionata, puoi usare il IF direttamente nei campi di selezione:

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

Nota che un'espressione in una clausola where può essere TRUE o FALSE , quindi scrivendo

IF(expr, TRUE, FALSE)

è uguale a

expr