sql >> Databasteknik >  >> RDS >> Mysql

Hur kan jag använda OR-villkor i MySQL CASE-uttryck?

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

Du kan använda ett av uttrycken som WHEN har, men du kan inte blanda båda.

1) WHEN when_expressionÄr ett enkelt uttryck som input_expression jämförs med när det enkla CASE-formatet används. when_expression är vilket giltigt uttryck som helst. Datatyperna för input_expression och varje when_expression måste vara samma eller måste vara en implicit konvertering.

2) NÄR Boolean_expressionÄr det booleska uttrycket utvärderat när man använder det sökta CASE-formatet. Boolean_expression är vilket giltigt booleskt uttryck som helst.

Du kan programmera:

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

Men i vilket fall som helst kan du förvänta dig att variabelrankningen kommer att jämföras i ett booleskt uttryck.

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



  1. SQLite Sum() vs Total():Vad är skillnaden?

  2. anrop externt skript med mySQL-utlösaren WHITOUT sys_exec på ubuntu ARMHF

  3. #2006 MySQL Server har försvunnit fel i Wamp

  4. MySQL:Räkna unika värdepar i rader