SQL CASE和局部变量

Gib*_*boK 12 sql t-sql sql-server sql-server-2008

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

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

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

    CASE @Test
    WHEN @Test = 10
    THEN SET @Result='OK test'
    END
    Print @Result;
Run Code Online (Sandbox Code Playgroud)

我使用MS SQL 2008.

Evi*_*eon 22

在这种情况下使用CASE和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
Run Code Online (Sandbox Code Playgroud)