Вопрос

Я хочу использовать вычисляемый битовый столбец, который будет иметь значение 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)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top