case
التعبير (داتابريك SQL)
إرجاع resN
لأول ما optN
يساوي expr
أو def
إذا لم يتطابق أي شيء.
إرجاع resN
التقييم الأول condN
إلى true، أو def
في حالة عدم العثور على أي شيء.
بناء الجملة
CASE expr {WHEN opt1 THEN res1} [...] [ELSE def] END
CASE {WHEN cond1 THEN res1} [...] [ELSE def] END
الوسيطات
expr
أي تعبير يتم تعريف المقارنة له.:optN
تعبير له نوع أقل شيوعا معexpr
جميع الأنواع الأخرىoptN
.:resN
أي تعبير له نوع أقل شيوعا مع جميع الأنواع الأخرىresN
و.:def
def
تعبير اختياري له نوع أقل شيوعا مع الكل.resN
:condN
تعبير منطقي.:
المرتجعات
يتطابق نوع النتيجة مع النوع الأقل شيوعا من resN
و def
.
إذا def
تم حذفه ، يكون الإعداد الافتراضي هو NULL.
يتم تقييم الشروط بالترتيب ويتم تنفيذ النتيجة resN
فقط أو def
التي تسفر عنها.
أمثلة
> SELECT CASE WHEN 1 > 0 THEN 1 WHEN 2 > 0 THEN 2.0 ELSE 1.2 END;
1.0
> SELECT CASE WHEN 1 < 0 THEN 1 WHEN 2 > 0 THEN 2.0 ELSE 1.2 END;
2.0
> SELECT CASE WHEN 1 < 0 THEN 1 WHEN 2 < 0 THEN 2.0 END;
NULL
> SELECT CASE 3 WHEN 1 THEN 'A' WHEN 2 THEN 'B' WHEN 3 THEN 'C' END;
C