sql >> Databáze >  >> RDS >> Mysql

Jak mohu použít podmínku OR ve výrazu CASE MySQL?

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

Můžete použít jeden z výrazů, které má WHEN, ale nemůžete je kombinovat.

1) WHEN when_expressionJe jednoduchý výraz, se kterým se porovnává input_expression, když je použit formát simple CASE. when_expression je jakýkoli platný výraz. Datové typy input_expression a každý when_expression musí být stejné nebo musí jít o implicitní konverzi.

2) WHEN Boolean_expressionJe vyhodnocen logický výraz při použití hledaného formátu CASE. Boolean_expression je jakýkoli platný booleovský výraz.

Můžete naprogramovat:

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 v každém případě můžete očekávat, že hodnocení proměnné bude porovnáno v booleovském výrazu.

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



  1. Jak opravit jednořádkový poddotaz Ora-01427 vrací více než jeden řádek ve výběru?

  2. Jak používat orderby na prvku, který byl spojen metodou Laravel Eloquent WITH

  3. Jak provádět fulltextové vyhledávání Mysql s čínskými znaky?

  4. Problém s GROUP_CONCAT a Longtextem v MySQL