Sql DB2运行时的嵌套情况

Sql DB2运行时的嵌套情况,sql,db2,Sql,Db2,我非常理解嵌套的Case语句,但我的问题是,您是否可以使用列表来执行嵌套的Case语句。我的例子是: case when column in ('A','B','C') then '1' when column in ('X','Y','Z') then '2' else column end as New_val 我用这种方式或这种想法尝试过,但它不起作用,我在网上找不到任何与此相关的东西。您的案例表达式很好。我认为case和in的问题是在where子句中使用case时出现的: where

我非常理解嵌套的Case语句,但我的问题是,您是否可以使用列表来执行嵌套的Case语句。我的例子是:

case when column in ('A','B','C') then '1'
when column in ('X','Y','Z') then '2'
else column end as New_val

我用这种方式或这种想法尝试过,但它不起作用,我在网上找不到任何与此相关的东西。

您的
案例
表达式很好。我认为
case
in
的问题是在
where
子句中使用
case
时出现的:

where column in (case when cola = 'a' then (1, 2, 3)
                      else (4)
                 end)

这是不允许的。
case
表达式返回标量值,而不是值列表。

您的
case
表达式很好。case很好,可以在DB2中使用。问题或错误消息是什么?显示什么不起作用没有多大意义。@MichaelTiefenbacher。OP显然混淆了
案例
中的
。这是我遇到的最常见的困惑形式。