حالة SQL [العمود] عندما تكون في ('case1'، 'case2') ثم "عفوا" نهاية؟
-
18-09-2019 - |
سؤال
هل هناك طريقة للتحقق من القضية عندما تكون في صفيف:
SELECT CASE [Option] WHEN IN (1, 3, 99) THEN 'Wrong option' ELSE 'You go!' END
المحلول
SELECT CASE WHEN [Option] IN (1, 3, 99) THEN 'Wrong option' ELSE 'You go' END
نصائح أخرى
يمكنك استعمال ال CASE WHEN <predicate> THEN <value> ... END
الخيار، بدلا من CASE <value> WHEN <value> THEN <value> ... END
اختيار.
SELECT CASE WHEN [Option] IN (1, 3, 99) THEN 'Wrong option' ELSE 'You go!' END
... ولكن إذا كانت القيم في جدول، فيمكنك القيام بالانضمام الخارجي (و
CASE WHEN t.Value IS NULL THEN 'Not in list' ELSE 'In list' END
, ، أو
CASE WHEN EXISTS (SELECT * FROM yourTable t WHERE t.value = [Option]) THEN 'Bad' ELSE 'Ok' END
... بدون انضمام.
لا تنتمي إلى StackOverflow