Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie mache ich mehrere CASE WHEN-Bedingungen mit SQL Server 2008?

Es gibt zwei Formate für Groß- und Kleinschreibung . Sie können CASE ausführen mit vielen WHEN wie;

CASE  WHEN Col1 = 1 OR Col3 = 1  THEN 1 
      WHEN Col1 = 2 THEN 2
      ...
      ELSE 0 END as Qty

Oder ein einfacher CASE Ausdruck

CASE Col1 WHEN 1 THEN 11 WHEN 2 THEN 21 ELSE 13 END

Oder CASE innerhalb CASE wie;

CASE  WHEN Col1 < 2 THEN  
                    CASE Col2 WHEN 'X' THEN 10 ELSE 11 END
      WHEN Col1 = 2 THEN 2
      ...
      ELSE 0 END as Qty