اذهب إلى المحتوى
  • 0

الدوال ceil , replace في mysql

Hesham Ashraf3

السؤال

Recommended Posts

  • 0

الدالة CEIL في SQL تعيد أصغر قيمة صحيحة أكبر من أو تساوي الرقم المعطى. وهي تعمل على تقريب الرقم إلى أعلى إلى أقرب رقم صحيح، وتعتبر العكس من الدالة FLOOR (التي تقوم بتقريب الرقم إلى أسفل إلى أقرب رقم صحيح).

CEIL (2.5)
// يساوي 3

دالة REPLACE في SQL هي دالة تستخدم لاستبدال جميع تكرارات نص معين بنص آخر داخل نص محدد. يمكن استخدامها للبحث عن نص معين واستبداله بنص آخر في قاعدة البيانات.

REPLACE(string, old_substring, new_substring)

يجب استبدال `string` بالنص المطلوب البحث فيه وهو في حالتنا الـ salar، واستبدال `old_substring` بالنص المطلوب البحث عنه وهو في حالتنا 0، واستبدال `new_substring` بالنص الجديد وهو في حالتنا الـ " " (نص فارغ وهذا يشبه حذف العنصر لأن النص الفارغ لن يتم حسابه في عملية الـ avg).

وبالتالي اصبح شرح السطر بالشكل التالي :

SELECT CEIL(AVG(salar) - AVG(REPLACE(salar, 0, ""))) FROM employees;

الكود يقوم بحساب الفرق بين متوسط قيم العمود salar ومتوسط قيم العمود salar بعد استبدال جميع تكرارات الرقم 0 بنص فارغ ""، ثم يتم تقريب النتيجة إلى أعلى إلى أقرب رقم صحيح باستخدام دالة CEIL.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

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

الإستعلام الذي يجب كتابته لحساب الفرق بين المتوسط الشهري الفعلي للرواتب والمتوسط الذي تم حسابه بطريقة خاطئة وتقريب النتيجة إلى الصحيح التالي هو:

SELECT CEIL(AVG(salary) - AVG(REPLACE(salary, '0', ''))) FROM employees;

هذا الاستعلام يقوم بحساب المتوسط الشهري الفعلي للرواتب باستخدام دالة AVG:

AVG(salary)

ثم يقوم بحساب المتوسط الذي تم حسابه بطريقة خاطئة باستخدام دالة AVG مع REPLACE لإزالة الأصفار من الرواتب:

AVG(REPLACE(salary, '0', ''))

ثم يقوم بحساب الفرق بينهما:

AVG(salary) - AVG(REPLACE(salary, '0', ''))

وأخيرًا، يقوم بتقريب النتيجة إلى الصحيح التالي باستخدام دالة CEIL:

CEIL(AVG(salary) - AVG(REPLACE(salary, '0', '')))

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

سأوضح لك طريقة عمل الدوال CEIL و REPLACE في MySQL مع أمثلة لتفهم الأمر:

1- دالة CEIL

تعمل دالة CEIL على تقريب العدد العشري إلى الأعلى (أكبر عدد صحيح) المقابل له.

طريقة كتابة الدالة:

CEIL(x)

حيث x هو العدد الذي ترغب في تقريبه للأعلى.

مثال:

لنفترض أن لدينا جدول يحتوي على عمود يحتوي على الأرقام العشرية التالية:

+-------+
| Value |
+-------+
|  2.4  |
|  3.1  |
|  5.7  |
+-------+

وإذا أردنا تطبيق دالة CEIL على هذا الجدول، ستكون النتيجة كالتالي:

+-------+--------+
| Value | Result |
+-------+--------+
|  2.4  |   3    |
|  3.1  |   4    |
|  5.7  |   6    |
+-------+--------+

لذلك، الدالة تقوم بتقريب الأعداد العشرية للأعلى لأقرب عدد صحيح.

2- دالة REPLACE

تقوم دالة REPLACE بالبحث عن واستبدال جميع حالات ظهور نص محدد داخل سلسلة النصوص.

طريقة كتابة الدالة:

REPLACE(str, find_string, replace_with)

حيث:

  • str: السلسلة التي ترغب في البحث واستبدال النص فيها.
  • find_string: النص الذي ترغب في البحث عنه.
  • replace_with: النص الذي ترغب في استبدال find_string به.

مثال:

لنفترض أن لدينا جدول يحتوي على عمود يحتوي على السلاسل التالية:

+-------------------+
| Name              |
+-------------------+
| John Doe          |
| Jane Doe          |
| John Smith        |
+-------------------+

إذا أردنا استخدام دالة REPLACE لاستبدال "John" بـ "Adam"، ستكون النتيجة كالتالي:

+-------------------+
| Name              |
+-------------------+
| Adam Doe          |
| Jane Doe          |
| Adam Smith        |
+-------------------+

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

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

توجد دالتان في قاعدة البيانات MySQL تدعى ceil و replace. إليك شرح لكل منهما:

دالة CEIL:

  • تستخدم الدالة CEIL لتقريب قيمة عدد عشري للأعلى بأقرب عدد صحيح.
  • يتم استخدام هذه الدالة لزيادة القيم الكسرية إلى أقرب عدد صحيح.
  • على سبيل المثال، إذا كان لديك العدد 3.14، ستعيد الدالة CEIL القيمة 4.

دالة REPLACE:

  • تستخدم الدالة REPLACE لاستبدال جميع حالات تكرار نص محدد بنص آخر في سلسلة النص.
  • يمكن استخدام هذه الدالة لتعديل السلاسل النصية في قاعدة البيانات.
  • تستخدم الدالة REPLACE ثلاثة معاملات:
    • السلسلة الأصلية: السلسلة التي تحتوي على النص الذي ترغب في استبداله.
    • النص القديم: النص الذي ترغب في استبداله.
    • النص الجديد: النص الذي ترغب في استبداله بالنص القديم.
  • ستقوم الدالة REPLACE بإجراء استبدال جميع حالات تكرار النص القديم بالنص الجديد في السلسلة الأصلية.

هذه هي وظيفة الدوال ceil و replace في قاعدة البيانات MySQL. يمكنك استخدامهما في عمليات استعلام قاعدة البيانات الخاصة بك لتحقيق المطلوب.

 

 

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...