Reputation: 273
I have the following SQL CASE statement. I would like to include NULL values as part of the 'SENNo' condition:
SEN = CASE --SEN
WHEN @Subgroup = 'SENA' THEN 'A'
WHEN @Subgroup = 'SENP' THEN 'P'
WHEN @Subgroup = 'SENS' THEN 'S'
WHEN @Subgroup = 'SENNo' THEN 'N'
END
So I would like it to effectively do the following:
SEN = CASE --SEN
WHEN @Subgroup = 'SENA' THEN 'A'
WHEN @Subgroup = 'SENP' THEN 'P'
WHEN @Subgroup = 'SENS' THEN 'S'
WHEN @Subgroup = 'SENNo' THEN 'N' OR NULL
END
This doesn't work, but I'm not sure how to structure my logic.
EDIT: Here's the solution after jparask's suggestion set me on the right track:
ISNULL(SEN, 'N') = CASE --SEN
WHEN @Subgroup2 = 'SENA' THEN 'A'
WHEN @Subgroup2 = 'SENP' THEN 'P'
WHEN @Subgroup2 = 'SENS' THEN 'S'
WHEN @Subgroup2 = 'SENNo' THEN 'N'
END
Upvotes: 0
Views: 64
Reputation: 18411
SEN = CASE --SEN
WHEN @Subgroup = 'SENA' THEN 'A'
WHEN @Subgroup = 'SENP' THEN 'P'
WHEN @Subgroup = 'SENS' THEN 'S'
WHEN ISNULL(@Subgroup,'SENNo') = 'SENNo' THEN 'N'
END
or
SEN = CASE --SEN
WHEN @Subgroup = 'SENA' THEN 'A'
WHEN @Subgroup = 'SENP' THEN 'P'
WHEN @Subgroup = 'SENS' THEN 'S'
WHEN @Subgroup IS NULL OR @Subgroup = 'SENNo' THEN 'N'
END
Upvotes: 2