小编典典

如何使用 SQL Server 2008 执行多个 CASE WHEN 条件?

all

我要做的是对同一列使用多个 CASE WHEN 条件。

这是我的查询代码:

   SELECT   Url='',
            p.ArtNo,
            p.[Description],
            p.Specification,
            CASE 
            WHEN 1 = 1 or 1 = 1 
               THEN 1 
               ELSE 0 
            END as Qty,
            p.NetPrice,
            [Status] = 0
      FROM  Product p (NOLOCK)

但是,我想要做的是对同一列“数量”使用不止一个 WHEN。

如以下代码所示:

IF
// CODE
ELSE IF
// CODE
ELSE IF
// CODE
ELSE
// CODE

阅读 120

收藏
2022-06-20

共1个答案

小编典典

case 表达式有两种格式。您可以CASE使用许多WHENas;

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 CASEas 内;

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