TSQL和多穗时的情况?

时间:2011-10-17 10:18:22

标签: tsql case-when

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

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

1 个答案:

答案 0 :(得分:7)

更改为"searched" CASE expression。你有一个“简单”的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