De syntaxis voor IF
is:
IF(test_expr, then_expr, else_expr)
dus je zou iets kunnen doen als IF(test1, result1, IF(test2, result2, else_result))
maar het zou niet erg leesbaar zijn, dus daar is de CASE
uitdrukking voor dat doel.
CASE WHEN test1 THEN result1
WHEN test2 THEN result2
ELSE else_result END
Als u een geselecteerde kolom wilt conditioneren, kunt u de IF
. gebruiken direct in de geselecteerde velden:
SELECT IF(match, nl_column en_column) AS lang
FROM table
Merk op dat een expressie in een waar-clausule ofwel TRUE
. is of FALSE
, dus schrijven
IF(expr, TRUE, FALSE)
is hetzelfde als
expr