sql >> Databáze >  >> RDS >> Mysql

IF... ELSE v klauzuli WHERE MySQL

Syntaxe pro IF je :

 IF(test_expr, then_expr, else_expr)

takže můžete udělat něco jako IF(test1, result1, IF(test2, result2, else_result)) ale nebylo by to moc čitelné, takže je tu CASE výraz pro tento účel.

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

Pokud chcete podmínit vybraný sloupec, můžete použít IF přímo ve vybraných polích:

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

Všimněte si, že výraz v klauzuli where je buď TRUE nebo FALSE , takže píšu

IF(expr, TRUE, FALSE)

je stejný jako

expr


  1. Použití sady výsledků SELECT ke spuštění dotazu UPDATE s uloženými procedurami MySQL

  2. odečíst 1 od čísla v řádku SQL Query

  3. Používejte relační databáze MySQL na Ubuntu 10.10 (Maverick)

  4. Textový sloupec MySQL je zkrácen