1

这是我的要求..在sql CASE语句中,当满足WHEN条件时,将执行部分..如果不满足条件,那么我需要有两个选项可供选择(这意味着我需要有一个OR在其他部分)..

我被困在这里..

CASE WHEN 
   tablename.ID=0 
THEN 
   tablename.description 
ELSE 
   tablename.description2 OR tablename.description2 
END AS abcd

我正在做一个 foxpro 到 sql 的迁移,所以在 foxpro 中遇到了一个语句,它在其 CASE 的 ELSE 部分(在 foxpro 中称为 IIF)语句中使用了“/”。

我假设 '/' 在 SQL 中是 OR

请问有什么解决方案可以满足这个要求吗?

4

1 回答 1

1

如果您有另一个条件要依赖,那么您可以在第一个 else 部分插入第二种情况:

CASE 
    WHEN tablename.ID=0 THEN tablename.description 
    ELSE 
        CASE
            WHEN condition2 THEN tablename.description2 
            ELSE tablename.description2 
        END
END AS abcd

你想做类似的事情吗?

于 2012-06-14T14:22:24.030 回答