sql - T-SQL CASE 多个条件相同结果

标签 sql sql-server tsql

我需要 SQL 中的等效 C# 代码

int caseSwitch = 1;
switch (caseSwitch)
{
case 1:
case 2:
case 3:
case 4:
    Console.WriteLine("x");
    break;
default:
    Console.WriteLine("Default case");
    break;
}

我有多个条件和相同的结果 我不想编写所有代码

case when cond1 then result1
     when cond2 then result1
     when cond3 then result1
     ....
     end

有什么想法吗? 谢谢

最佳答案

类似这样的事情:

DECLARE @caseSwitch INT=1
SELECT
    CASE WHEN @caseSwitch IN (1,2,3,4)
    THEN 'x'
    ELSE 'Default case'
END

在表中选择。它会是这样的:

DECLARE @caseSwich INT=1
SELECT
    (
       CASE WHEN @caseSwich IN (1,2,3,4)
          THEN 'x'
          ELSE 'Default case'
       END
    ) AS someColumn
FROM
    yourTable

关于sql - T-SQL CASE 多个条件相同结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9391271/

相关文章:

c# - 如何在C#中正确从SqlDataReader读取数据?

sql-server - 为什么 SQL Server @@SERVERNAME 返回我的旧计算机名称?

c# - x64 SQL Server 检测网络实例名称

tsql - 组合 INSERT INTO 和 WITH/CTE

sql - 如何为动态搜索字符串创建索引

sql - 查询最大并发时间跨度数

c# - Linq 查询等效于存在多个条件

sql 查询 - true => true, false => true 或 false

sql - 为什么我不能在此查询中组合 LEFT OUTER JOIN 和 WHERE 子句?

mysql - 如何使用 row_number、lag/lead、join SQL 解决问题