يساعدك هذا القسم على التعرف على وظيفة MySQL IFNULL(). تعد الدالة IFNULL جزءًا من وظيفة تدفق التحكم MySQL المستخدمة لمعالجة القيم NULL.
تقبل الدالة IFNULL تعبيرين، وإذا كان التعبير الأول كذلك غير فارغة ، تقوم بإرجاع الوسائط الأولى. إذا كان التعبير الأول هو باطل ، تقوم بإرجاع الوسيطة الثانية. تُرجع هذه الدالة إما سلسلة أو قيمة رقمية، اعتمادًا على السياق الذي يتم استخدامه فيه.
بناء الجملة
يمكننا استخدام الدالة IFNULL بالصيغة التالية:
IFNULL (Expression1, Expression2)
تقوم بإرجاع التعبير 1 عندما لا يكون التعبير 1 فارغًا. وإلا فإنه سيتم إرجاع Expression2.
حدود
معامل | متطلبات | الأوصاف |
---|---|---|
التعبير 1 | مطلوب | يتم استخدام هذا التعبير للتحقق مما إذا كان NULL أم لا. |
التعبير 2 | مطلوب | سيعود عندما يكون التعبير 1 فارغًا. |
دعم إصدار MySQL
يمكن أن تدعم الدالة IFNULL إصدارات MySQL التالية:
- ماي إس كيو إل 8.0
- ماي إس كيو إل 5.7
- ماي إس كيو إل 5.6
- ماي إس كيو إل 5.5
- ماي إس كيو إل 5.1
- ماي إس كيو إل 5.0
- ماي إس كيو إل 4.1
- ماي إس كيو إل 4.0
دعونا نفهم وظيفة MySQL IFNULL() مع الأمثلة التالية. يمكننا استخدام الدالة IFNULL مع يختار البيان مباشرة.
مثال 1
SELECT IFNULL(0,5);
في الوظيفة المذكورة أعلاه، تتحقق عبارة MySQL من التعبير الأول. إذا لم يكن التعبير الأول NULL، فسوف يُرجع التعبير الأول، وهو صفر.
انتاج:
0
مثال 2
SELECT IFNULL('Hello', 'javaTpoint');
تتحقق عبارة MySQL أعلاه من التعبير الأول. إذا لم يكن التعبير الأول NULL، فسوف يُرجع التعبير الأول، وهو 'مرحبًا' قيمة.
انتاج:
Hello
مثال 3
SELECT IFNULL(NULL,5);
تقوم عبارة MySQL التالية بالتحقق من التعبير الأول. إذا لم يكن التعبير الأول فارغًا، فسيُرجع التعبير الأول. وإلا فإنه سيتم إرجاع التعبير الثاني، وهو خمسة (5).
انتاج:
5
مثال 4
هنا، سنقوم بإنشاء جدول 'جهات_اتصال_الطلاب' وتنفيذ الدالة IFNULL().
CREATE TABLE `student_contacts` ( `studentid` int unsigned NOT NULL AUTO_INCREMENT, `contactname` varchar(45) NOT NULL, `cellphone` varchar(20) DEFAULT NULL, `homephone` varchar(20) DEFAULT NULL, );
الآن، تحتاج إلى إدراج البيانات في جدول. بعد إدراج القيم في الجدول، قم بتنفيذ الاستعلام التالي.
SELECT contactname, cellphone, homephone FROM student_contacts;
سيعرض الإخراج الذي يحتوي على جميع الصفوف والأعمدة. هنا، يمكننا أن نرى أن بعض جهات الاتصال لديها فقط رقم هاتف محمول أو رقم هاتف منزل.
في الإخراج أعلاه، سوف نحصل على اسم جميع جهات الاتصال للهاتف الخليوي، ورقم هاتف المنزل متاح أم لا. لذا، في هذه الحالة، تلعب الدالة IFNULL() دورًا مهمًا.
الآن، قم بتشغيل استعلام MySQL التالي. يعود هذا البيان هاتف المنزل الرقم إذا كان الهاتف الخليوي NULL.
SELECT contactname, IFNULL(cellphone, homephone) phone FROM student_contact;
انتاج:
عندما يتم تشغيل عبارة MySQL أعلاه بنجاح، فسوف تعطي الإخراج التالي.