Mysql
 sql >> база данни >  >> RDS >> Mysql

IF... ELSE в клауза WHERE MySQL

Синтаксисът за IF е :

 IF(test_expr, then_expr, else_expr)

така че можете да направите нещо като IF(test1, result1, IF(test2, result2, else_result)) но няма да е много четим, така че има CASE израз за тази цел.

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

Ако искате да обусловите избрана колона, можете да използвате IF в избраните полета директно:

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

Обърнете внимание, че изразът в клауза where е или TRUE или FALSE , така че пише

IF(expr, TRUE, FALSE)

е същото като

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. Laravel 4 конструктор на заявки - със сложни леви съединения

  2. MySQL:Обединение на ляво присъединяване с дясно присъединяване

  3. Как мога да направя заявка за таблица в таблица?

  4. Предоставяне на изчакване на скрипт, преминало при импортиране на база данни

  5. MySQL:Защо екранирането не работи в оператора LIKE?