Sql Server计算列公式语法

时间:2009-09-30 14:18:54

标签: sql sql-server tsql calculated-columns

我想使用一个计算位列,如果表中的另一列不为null,则该列将为true。这是什么正确的公式?

HasLabel = computed column (bit)
Label = varchar NULL

以下公式无法验证。 - 我错过了什么? HasLabel的公式= Label IS NOT NULL

1 个答案:

答案 0 :(得分:26)

计算列必须返回一个值,而您只是进行比较。试试这个:

case when label is null then 0 else 1 end

然而,SQL Server不会将其理解为非NULLable列。要处理此问题,请将计算更改为:

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