Sql Server计算列公式语法

Sql Server计算列公式语法,sql,sql-server,tsql,calculated-columns,Sql,Sql Server,Tsql,Calculated Columns,我想使用一个计算位列,如果表中的另一列不为null,该列将为true。正确的公式是什么 HasLabel = computed column (bit) Label = varchar NULL 以下公式无效。-我错过了什么? HasLabel=标签的公式不为空计算列必须返回值,而您只是在进行比较。请尝试以下方法: case when label is null then 0 else 1 end 但是,SQL Server不会将其理解为不可为空的列。要处理此问题,请将计算更改为: isnu

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

HasLabel = computed column (bit)
Label = varchar NULL
以下公式无效。-我错过了什么?

HasLabel=
标签的公式不为空

计算列必须返回值,而您只是在进行比较。请尝试以下方法:

case when label is null then 0 else 1 end
但是,SQL Server不会将其理解为不可为空的列。要处理此问题,请将计算更改为:

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

或者
ISNULL(当标签为NULL时,大小写为0结束,1)
稍微短一点。@MartinSmith和这个更短一点:
ISNULL(当标签为NULL时,大小写为1结束,0)