سؤال

أريد استخدام عمود بت محسوب سيكون صحيحا إذا كان عمود آخر في الجدول غير فارغ. ما هي الصيغة الصحيحة لهذا؟

HasLabel = computed column (bit)
Label = varchar NULL

الصيغة التالية غير صحيحة. - ماذا ينقصني؟
صيغة haslabel = Label IS NOT NULL

هل كانت مفيدة؟

المحلول

يجب أن يؤدي العمود المحسوب إلى إرجاع قيمة، بينما كنت تفعل مقارنة فقط. جرب هذا بدلا من ذلك:

case when label is null then 0 else 1 end

لن يفهم SQL Server هذا كعمود غير ظهور. للتعامل مع ذلك، قم بتغيير الحساب إلى:

isnull(case when label IS NULL then 0 else 1 end, 0)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top