Sql Server计算列公式语法

Jer*_*emy 8 sql t-sql sql-server calculated-columns

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

HasLabel = computed column (bit)
Label = varchar NULL
Run Code Online (Sandbox Code Playgroud)

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

Red*_*ter 26

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

case when label is null then 0 else 1 end
Run Code Online (Sandbox Code Playgroud)

但是,SQL Server不会将其理解为非NULLable列.要处理它,请将计算更改为:

isnull(case when label IS NULL then 0 else 1 end, 0)
Run Code Online (Sandbox Code Playgroud)