باستخدام عوامل المقارنة في جملة Select of T-SQL
-
22-09-2019 - |
سؤال
كيفية تحديد نتيجة لمشغل المقارنة كحقل مع نوع بت؟
كيف تعمل في 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) على أنه عدد صحيح.
لا تنتمي إلى StackOverflow