6

我有几个条件,结果应该是一样的。我在网上搜索并找到了这样的东西:

CASE ProductLine
     WHEN 'R' THEN 'Road'
     WHEN 'M' THEN 'Mountain'
     WHEN 'T' THEN 'Touring'
     WHEN 'S' THEN 'Other sale items'
     ELSE 'Not for sale'
  END

这很好,但不是我需要的,对我来说,它更像是 R、M、T 和 S 都具有相同的结果,而 A、B、C、D 例如没有。我该怎么做?我无法与 OR 联系,或者至少我没有设法联系:)。可能是这样的?

CASE ProductLine
     WHEN 'R' OR 'M' OR ... THEN 'Road'
     ELSE 'Not for sale'
  END
4

1 回答 1

7

更改为“搜索”的 CASE 表达式。您在上面有一个“简单”的 CASE 表达式

CASE
   WHEN  ProductLine IN ('R', 'M', ...) THEN 'Road'
   ELSE 'Not for sale'
END

从上面的 MSDN 链接:

Simple CASE expression: 
CASE input_expression 
     WHEN when_expression THEN result_expression [ ...n ] 
     [ ELSE else_result_expression ] 
END 

Searched CASE expression:
CASE
     WHEN Boolean_expression THEN result_expression [ ...n ] 
     [ ELSE else_result_expression ] 
END
于 2011-10-17T10:21:45.867 回答