logo

تعبير حالة MySQL

يعد تعبير MySQL CASE جزءًا من وظيفة التحكم في التدفق التي تتيح لنا كتابة ملف إذا-إلا أو إذا-ثم-إلا منطق للاستعلام. يمكن استخدام هذا التعبير في أي مكان يستخدم برنامجًا أو استعلامًا صالحًا، مثل عبارة SELECT، وWHERE، وORDER BY، وما إلى ذلك.

يتحقق تعبير CASE من صحة الشروط المختلفة ويعيد النتيجة عندما يكون الشرط الأول كذلك حقيقي . بمجرد استيفاء الشرط، فإنه يتوقف عن الاجتياز ويعطي الإخراج. إذا لم يجد أي شرط صحيحًا، فإنه ينفذ كتلة أخرى . عندما لا يتم العثور على الكتلة else، فإنها ترجع a باطل قيمة. الهدف الرئيسي من ماي إس كيو إل عبارة CASE هي للتعامل مع عبارات IF متعددة في جملة SELECT.

يمكننا استخدام عبارة CASE بطريقتين، وهما كما يلي:

1. بيان حالة بسيط:

الطريقة الأولى هي أخذ قيمة ومطابقتها مع العبارة المحددة، كما هو موضح أدناه.

الأرقام الرومانية الرسم البياني 1100

بناء الجملة

 CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END 

تقوم بإرجاع النتيجة عند الأول قارن_القيمة المقارنة تصبح صحيحة. وإلا، فإنه سيتم إرجاع جملة else .

مثال

 mysql> SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END; 

انتاج |

بعد التنفيذ الناجح للأمر أعلاه، سنرى الإخراج التالي.

تعبير حالة MySQL

2. بيان الحالة الذي تم البحث فيه:

الطريقة الثانية هي النظر في أ search_condition في ال متى العبارات، وإذا وجدت، قم بإرجاع النتيجة في جملة THEN المقابلة. وإلا، فإنه سيتم إرجاع جملة else . إذا لم يتم تحديد جملة else، فسوف تُرجع قيمة NULL.

بناء الجملة

 CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END 

مثال

 mysql> SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END; 

انتاج |

تعبير حالة MySQL

نوع الإرجاع

يقوم تعبير CASE بإرجاع النتيجة اعتمادًا على السياق الذي يتم استخدامه فيه. على سبيل المثال:

  • إذا تم استخدامه في سياق السلسلة، فإنه يقوم بإرجاع نتيجة السلسلة.
  • إذا تم استخدامه في سياق رقمي، فإنه يقوم بإرجاع عدد صحيح، عائم، قيمة عشرية.

دعم إصدار MySQL

يمكن أن تدعم عبارة CASE إصدارات MySQL التالية:

  • ماي إس كيو إل 8.0
  • ماي إس كيو إل 5.7
  • ماي إس كيو إل 5.6
  • ماي إس كيو إل 5.5
  • ماي إس كيو إل 5.1
  • ماي إس كيو إل 5.0
  • ماي إس كيو إل 4.1
  • ماي إس كيو إل 4.0
  • ماي إس كيو إل 3.23.3

فلنقم بإنشاء جدول' طلاب ' وقم بتنفيذ عبارة CASE على هذا الجدول.

تعبير حالة MySQL

في الجدول أعلاه، يمكننا أن نرى أن عمود الصف يحتوي على النموذج المختصر لقسم الطالب. ولهذا السبب سنقوم بتغيير الشكل القصير للقسم بالشكل الكامل. الآن، قم بتنفيذ الاستعلام التالي للقيام بهذه العملية.

 SELECT studentid, firstname, CASE class WHEN 'CS' THEN 'Computer Science' WHEN 'EC' THEN 'Electronics and Communication' ELSE 'Electrical Engineering' END AS department from students; 

بعد التنفيذ الناجح للاستعلام أعلاه، سوف نحصل على النتيجة التالية. وهنا يمكننا أن نرى أن قسم يحتوي العمود على نموذج كامل بدلاً من نموذج قصير.

توليد رقم عشوائي في جافا

تعبير حالة MySQL