Синтаксис Формулы вычисляемого столбца Sql Server

Я хочу использовать вычисляемый битовый столбец, который будет true, если другой столбец в таблице не равен null. Какова правильная формула для этого?

HasLabel = computed column (bit)
Label = varchar NULL

следующая формула не проверяет. - что я упускаю?
Формула для HasLabel = Label IS NOT NULL

1 ответов


вычисляемый столбец должен возвращать значение, в то время как вы просто делаете сравнение. Попробуйте вместо этого:

case when label is null then 0 else 1 end

SQL Server не будет понимать это как недопустимый столбец. Чтобы справиться с этим, изменение расчета:

isnull(case when label IS NULL then 0 else 1 end, 0)