sql-server-2008-r2 - SQL Server 2008 R2 中的 SQL 切换/案例

标签 sql-server-2008-r2

这是我的测试 T-SQL。

DECLARE @TestVal INT

SET @TestVal = 1

SELECT 
   CASE @TestVal
      WHEN (1 | 2 | 6) THEN 'First' // I would like to check 1 or 2 or 6.
      WHEN 3 THEN 'Second'
      WHEN 4 THEN 'Third'
      ELSE 'Other'
   END

当前结果是“其他”。

我想得到“第一”的结果。如何在我的 T-SQL 中使用(OR 语句)。

最好的问候

最佳答案

使用case的条件形式:

SELECT (CASE WHEN @TestVal IN (1, 2, 6) THEN 'First' 
             WHEN @TestVal = 3 THEN 'Second'
             WHEN @TestVal = 4 THEN 'Third'
             ELSE 'Other'
        END)

关于sql-server-2008-r2 - SQL Server 2008 R2 中的 SQL 切换/案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29618022/

相关文章:

stored-procedures - 嵌套存储过程异常处理

sql-server - 将 2 行连接成一行

sql - DENSE_RANK 根据特定顺序

sql-server-2008-r2 - 转换 SQL Server 2008 R2 和 2012 之间的差异

sql-server - GUID 主键,单独的聚集索引列

mdx - SS 2008 R2 分析服务 - 类未注册

sql - 在重复项中选择不同的连续行

sql - 使用不带任何子句的 Pivot 将行转换为列

sql-server - SQL Server Management Studio 并未显示所有依赖项

t-sql - 一次更改多个表