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

HVIS... ANDET i WHERE-klausulen MySQL

Syntaksen for IF er :

IF(test_expr, then_expr, else_expr)

så du kunne gøre noget som IF(test1, result1, IF(test2, result2, else_result)) men det ville ikke være særlig læsbart, så der er CASE udtryk til det formål.

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

Hvis du vil betinge en valgt kolonne, kan du bruge IF i de valgte felter direkte:

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

Bemærk, at et udtryk i en where-sætning enten er TRUE eller FALSE , så skriver

IF(expr, TRUE, FALSE)
 

er det samme som

expr
 


  1. Oprettelse af en database med MySQL Workbench fra eksisterende skema/model

  2. Hvordan vælger man en række tilfældigt under hensyntagen til en vægt?

  3. Eksempler på konvertering af 'dato' til 'datetime' i SQL Server (T-SQL)

  4. Databasen eksisterer, men returnerer en fejl, der siger Ukendt database