Синтаксис формулы вычисляемого столбца Sql Server
-
19-09-2019 - |
Вопрос
Я хочу использовать вычисляемый битовый столбец, который будет иметь значение true, если другой столбец в таблице не равен null.Какова правильная формула для этого?
HasLabel = computed column (bit)
Label = varchar NULL
Следующая формула не проверяется.- что я упускаю?
Формула для HasLabel = Label IS NOT NULL
Решение
Вычисляемый столбец должен возвращать значение, тогда как вы просто проводите сравнение.Попробуйте это вместо этого:
case when label is null then 0 else 1 end
Однако SQL Server не поймет это как ненулевой столбец.Чтобы справиться с этим, измените вычисление на:
isnull(case when label IS NULL then 0 else 1 end, 0)
Не связан с StackOverflow