SQL CASE 和局部变量

2021-09-10 00:00:00 sql tsql sql-server-2008 sql-server

我想知道如何在 SQL 的 CASE 语句中使用局部变量?

I would like to know how I can use local variables in CASE statements in SQL?

这个脚本给了我一个错误:

This script gives me an error:

    DECLARE @Test int;
    DECLARE @Result char(10);
    SET @Test = 10;

    CASE @Test
    WHEN @Test = 10
    THEN SET @Result='OK test'
    END
    Print @Result;

我使用 MS SQL 2008.

I use MS SQL 2008.

推荐答案

在 MSSQL 这个场景中使用 CASE 的两种方式

Two ways to use CASE in this scenario with MSSQL

DECLARE 
    @test   int,
    @result char(10)

SET @test = 10

SET @result = CASE @test
    WHEN 10 THEN 
        'OK test'
    ELSE
        'Test is not OK'
END

PRINT @result;

SET @result = CASE 
    WHEN @test = 10 THEN 
        'OK test'
    ELSE
        'Test is not OK'
END

PRINT @result

相关文章