حالة SQL [العمود] عندما تكون في ('case1'، 'case2') ثم "عفوا" نهاية؟

StackOverflow https://stackoverflow.com/questions/2004147

  •  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

... بدون انضمام.

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