СЛУЧАЙ SQL и локальные переменные

Я хотел бы знать, как я могу использовать локальные переменные в 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;

Я использую MS SQL 2008.

12
задан devnull 13 October 2013 в 10:07
поделиться

5 ответов

Два способа использования 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
22
ответ дан 2 December 2019 в 05:39
поделиться

В SQL Server я бы написал это так:

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

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

В предложении WHEN нет @Test = 10 в качестве переменной @Test . указано в пункте CASE .

См. Документацию CASE для SQL Server.

2
ответ дан 2 December 2019 в 05:39
поделиться

CASE @Test WHEN 10 THEN

0
ответ дан 2 December 2019 в 05:39
поделиться

попробуйте следующее:

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

select @Result=
CASE @Test
WHEN 10 THEN  'OK test'
END

Print @Result;
3
ответ дан 2 December 2019 в 05:39
поделиться
DECLARE @Test int;
SET @Test = 10;

SELECT 
CASE @Test
WHEN 10
THEN 'OK test'
END

Для SQL server 2005

0
ответ дан 2 December 2019 в 05:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: