sql >> Database >  >> RDS >> Mysql

Hoe kan ik OR-voorwaarde gebruiken in MySQL CASE-expressie?

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

Je kunt een van de uitdrukkingen gebruiken die WHEN heeft, maar je kunt ze niet allebei combineren.

1) WHEN when_expressionIs een eenvoudige expressie waarmee input_expression wordt vergeleken wanneer het eenvoudige CASE-formaat wordt gebruikt. when_expression is een geldige expressie. De gegevenstypen input_expression en elke when_expression moeten hetzelfde zijn of een impliciete conversie zijn.

2) WHEN Boolean_expressionIs de Booleaanse expressie geëvalueerd bij gebruik van de gezochte CASE-indeling. Boolean_expression is elke geldige Booleaanse uitdrukking.

Je zou kunnen programmeren:

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

Maar in ieder geval kun je verwachten dat de variabele ranking vergeleken gaat worden in een booleaanse expressie.

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



  1. ScaleGrid verhoogt groeiaandelenronde van Spotlight Equity Partners om uitbreiding te versnellen en verder te investeren in productroutekaart

  2. MySQL SELECT Gedupliceerde rijen van OpenCarts DataBase

  3. Correcte manier om MYSQL-database in te stellen voor zoekopdrachten op gerelateerde tags?

  4. Meer items laden uit database ~ Infinite Scroll