ИЛИ оператор в ТОГДА разделе заявления CASE

У меня есть следующий оператор SQL CASE. Я хотел бы включить значения NULL как часть условия 'SENNo':

SEN = CASE --SEN
    WHEN @Subgroup = 'SENA' THEN 'A'
    WHEN @Subgroup = 'SENP' THEN 'P'
    WHEN @Subgroup = 'SENS' THEN 'S'
    WHEN @Subgroup = 'SENNo' THEN 'N'
END

Поэтому я хотел бы, чтобы это эффективно делало следующее:

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

Это не работает, но я не уверен, как структурировать мою логику.

РЕДАКТИРОВАТЬ: Вот решение после предложения jparask направил меня на правильный путь:

           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

1 ответ

Решение
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

или же

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
Другие вопросы по тегам