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;
DE
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
DECLARE @Test int;
SET @Test = 10;
SELECT
CASE @Test
WHEN 10
THEN 'OK test'
END
For SQL server 2005
In SQL Server I would write it like this:
DECLARE @Test int;
DECLARE @Result char(10);
SET @Test = 10;
SET @Result = CASE @Test
WHEN 10
THEN 'OK test'
END
Print @Result;
The WHEN
clause does not have @Test = 10
, as the @Test
variable is stated in the CASE
clause.
See the CASE documentation for SQL Server.
try this:
DECLARE @Test int;
DECLARE @Result char(10);
SET @Test = 10;
select @Result=
CASE @Test
WHEN 10 THEN 'OK test'
END
Print @Result;
CASE @Test WHEN 10 THEN