سؤال

كيفية تحديد نتيجة لمشغل المقارنة كحقل مع نوع بت؟

كيف تعمل في C#:

bool isGreater = FieldA > FieldB;

كيف لا يعمل في T-SQL:

SELECT (FieldA > FieldB) AS BIT FROM t

كيف تكتب هذه المهمة بشكل صحيح؟

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

المحلول

يجب عليك استخدام شرط الحالة:

CASE
    WHEN FieldA > FieldB THEN 1
    ELSE 0
END AS [BIT]

نصائح أخرى

Select Convert(Bit, Case When FieldA > FieldB Then 1 Else 0 End) As YourBitColumn

إذا كنت ترغب في العودة قليلاً ، فأنت بحاجة إلى تحويل (أو يلقي) إلى نوع بيانات بت ، وإلا ، فإن SQL سوف يفسر الثابت المشفر الثابت (1 أو 0) على أنه عدد صحيح.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top