8

テーブル内の別の列が null でない場合に true になる計算ビット列を使用したいと考えています。これの正しい式は何ですか?

HasLabel = computed column (bit)
Label = varchar NULL

次の式は検証されません。-何が欠けていますか?
HasLabel の式 =Label IS NOT NULL

4

1 に答える 1

26

計算列は値を返す必要がありますが、比較を行っているだけです。代わりにこれを試してください:

case when label is null then 0 else 1 end

ただし、SQL Server はこれを NULL 不可の列として認識しません。これを処理するには、計算を次のように変更します。

isnull(case when label IS NULL then 0 else 1 end, 0)
于 2009-09-30T14:22:09.610 に答える