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

Come posso usare la condizione OR nell'espressione MySQL CASE?

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

Puoi usare una delle espressioni che ha WHEN, ma non puoi combinarle entrambe.

1) WHEN when_expressionÈ una semplice espressione con cui viene confrontato input_expression quando viene utilizzato il formato CASE semplice. when_expression è una qualsiasi espressione valida. I tipi di dati di input_expression e di each when_expression devono essere gli stessi o devono essere una conversione implicita.

2) QUANDO Espressione_booleana È l'espressione booleana valutata quando si utilizza il formato CASE cercato. Boolean_expression è qualsiasi espressione booleana valida.

Potresti programmare:

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

Ma in ogni caso puoi aspettarti che il ranking della variabile venga confrontato in un'espressione booleana.

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