Mysql
 sql >> Baza danych >  >> RDS >> Mysql

IF... ELSE w klauzuli WHERE MySQL

Składnia IF jest :

 IF(test_expr, then_expr, else_expr)

więc możesz zrobić coś takiego jak IF(test1, result1, IF(test2, result2, else_result)) ale nie byłby zbyt czytelny, więc jest CASE wyrażenie w tym celu.

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

Jeśli chcesz warunkować wybraną kolumnę, możesz użyć IF bezpośrednio w wybranych polach:

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

Zauważ, że wyrażenie w klauzuli where ma wartość TRUE lub FALSE , więc pisząc

IF(expr, TRUE, FALSE)

jest taki sam jak

expr


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ranking użytkowników w mysql według ich punktów

  2. Grupa MySQL według numeru tygodnia z kolumną z wieloma datami

  3. NA AKTUALIZACJI ZDUPLIKOWANEGO KLUCZA z warunkiem WHERE

  4. Dynamiczny SQL zwraca „błąd składni” w Google Apps Script przy użyciu JDBC i MySQL

  5. Wyzwalacz MySQL:skopiuj wartość auto_increment do innej kolumny po wstawieniu