Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да направя множество условия CASE WHEN с помощта на SQL Server 2008?

Има два формата на израз на регистър . Можете да направите CASE с много WHEN като;

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

Или прост CASE израз

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

Или CASE в рамките на CASE като;

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server - Връщане на стойност след INSERT

  2. Sql Server 2008 Cross Tab Query

  3. Външен ключ към композитен ключ

  4. SQL Server BCP експортира повреден файл?

  5. LINQ към SQL Всеки N-ти ред от таблицата