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

Jak mogę użyć warunku OR w wyrażeniu MySQL CASE?

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

Możesz użyć jednego z wyrażeń, które ma WHEN, ale nie możesz ich mieszać.

1) KIEDY when_expressionJest prostym wyrażeniem, z którym input_expression jest porównywany, gdy używany jest prosty format CASE. when_expression to dowolne poprawne wyrażenie. Typy danych input_expression i każde when_expression muszą być takie same lub muszą być niejawną konwersją.

2) KIEDY Boolean_expressionJest wyrażeniem logicznym ocenianym przy użyciu przeszukiwanego formatu CASE. Boolean_expression to dowolne poprawne wyrażenie logiczne.

Możesz zaprogramować:

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

Ale w każdym razie można się spodziewać, że ranking zmiennych będzie porównywany w wyrażeniu logicznym.

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. Piping mysqldump do mysql

  2. Uwaga:Niezdefiniowana zmienna:db podczas korzystania z PDO

  3. Dane zapisane dwukrotnie w bazie danych MySQL. Nie wiesz, co robię źle?

  4. Czy szybciej jest przekonwertować na varchar lub varchar na int podczas porównywania w MySQL?

  5. Jak zignorować parametr w przygotowanym zapytaniu mysqli w PHP?