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

Hvordan kan jeg bruge OR condition i MySQL CASE udtryk?

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

Du kan bruge et af udtryk, som WHEN har, men du kan ikke blande dem begge.

1) WHEN when_expressionEr et simpelt udtryk, som input_expression sammenlignes med, når det simple CASE-format bruges. when_expression er et hvilket som helst gyldigt udtryk. Datatyperne for input_expression og hver when_expression skal være de samme eller skal være en implicit konvertering.

2) WHEN Boolean_expressionEr det boolske udtryk evalueret ved brug af det søgte CASE-format. Boolean_expression er et hvilket som helst gyldigt boolesk udtryk.

Du kan programmere:

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 under alle omstændigheder kan du forvente, at den variable rangering vil blive sammenlignet i et boolesk udtryk.

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



  1. Hvordan udfører man den samme aggregering på hver kolonne uden at angive kolonnerne?

  2. Hvordan kalder man MySQL-lagret procedure fra Rails?

  3. Hvordan kan jeg fjerne disse (â?²s) type tegn med PHP?

  4. Forkert strengværdi:'\xEF\xBF\xBD' for kolonne