مشاركة عبر


case تعبير

ينطبق على: وضع علامة Databricks SQL وضع علامة Databricks Runtime

إرجاع resN للأول optN الذي يساوي expr أو def إذا لم يتطابق أي منها.

إرجاع resN التقييم الأول condN إلى صحيح، أو 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. يتم تقييم الشروط بالترتيب ويتم تنفيذ أو def الذي ينتج عنه النتيجة فقطresN.

الأمثلة

> 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