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

Как мога да използвам условие ИЛИ в израза CASE на MySQL?

CASE ranking
  WHEN 1 THEN 'alpha' 
  WHEN 2 THEN 'beta'  
  WHEN 10 THEN 'charlie' 
  ELSE 'zelta' 
END CASE;

Можете да използвате един от изразите, които има WHEN, но не можете да смесвате и двата.

1) WHEN when_expressionЕ прост израз, с който се сравнява input_expression, когато се използва прост формат CASE. when_expression е всеки валиден израз. Типовете данни на input_expression и всеки when_expression трябва да са еднакви или трябва да са имплицитно преобразуване.

2) WHEN Boolean_expressionЕ булевият израз, оценяван при използване на търсения формат CASE. Boolean_expression е всеки валиден булев израз.

Можете да програмирате:

1)

 CASE ProductLine
         WHEN 'R' THEN 'Road'
         WHEN 'M' THEN 'Mountain'
         WHEN 'T' THEN 'Touring'
         WHEN 'S' THEN 'Other sale items'
         ELSE 'Not for sale'

2)

CASE 
         WHEN ListPrice =  0 THEN 'Mfg item - not for resale'
         WHEN ListPrice < 50 THEN 'Under $50'
         WHEN ListPrice >= 50 and ListPrice < 250 THEN 'Under $250'
         WHEN ListPrice >= 250 and ListPrice < 1000 THEN 'Under $1000'
         ELSE 'Over $1000'
      END

Но във всеки случай можете да очаквате, че класирането на променливата ще бъде сравнено в булев израз.

http://msdn.microsoft.com/en-us/library/ms181765 .aspx



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да се свържете с MySQL, работещ на Docker от хост машината

  2. Сложна заявка + скрипт за пагинация

  3. Комбинирайте произволно две думи от MySQL база данни

  4. Mysql използва данни за ред в същата заявка, за да избере друг ред?

  5. Как да направя подходящ клас за разширение на mysqli с подготвени оператори?