بجانب الرموز الحسابية (مثل الجمع والطرح والضرب والقسمة, الخ)
هناك ايضا دوال للتعامل مع الأرقام (والحقول الرقمية) وهم حوالى عشرين دالة.
لكنى سوف اشرح الأكثر استخداما منهم
بالقائمة التالية
(سوف ارمز للقيمة الرقمية بحرف N داخل الدوال)
وان شاء الله نغطى مايمكن تغطيته بهذا الدرس
(لأن هذا هو الدرس الأخير قبل ختم دورة MySql)
بسم الله نبدأ
* ABS(N) هذه الدالة تحول الرقم الذى بداخلها الى رقم موجب. يعنى -10 تتحول الى 10
* CELLING(N) تعود بأقرب واعلى رقم صحيح للرقم الذى تم ادخاله بها
مثلا الرقم 1.2 يحول الى 2
* FLOOR(N) عكس CELLING فهى تعود بأقرب اصغر رقم صحيح, يعنى الرقم 1.2 يحول الى 1
* FORMAT(N, Y) هذه الدالة تهئ الرقم بحث يتم وضع . قبل اخر Y ارقام
بمعنى مثلا, FORMAT(100000000, 2) يتم تحويله للتالى
1,000,000.00 (لاحظ اخر صفرين)
* MOD(N, y)
تعود بالقيمة المتبقية من N ولا تقبل القسمة على Y
بمعنى لو استخدمنا MOD(5, 2) يكون الناتج 1. من اين اتى الواحد؟
2+2 = 4
وكل من الأرقام 2 او 4 قابلين للقسمة على الرقم 2, اذن
5-4 = 1
هذا هو ناتج الدالة (وهذا الدالة يمكن ان يكون كل معطياتها عبارة عن حقول بالجدول
* POW(N, y)
اتتذكر درس الأسس فى الرياضيات؟
2 اس 4 = 16
هذه الدالة تضع N كالرقم الأساسى و y هو الأس
يعنى متساوية مع الرمز التالى
N^y
* RAND() تعود برقم عشوائى من 0 الى 1.0
* ROUND(N, y) تقرب الرقم N الى اقرب رقم y
بمعنى
ROUND(2.645, 2) تعود بالقيمة 2.65
* SING(N) تعود لنا بقيمة من ثلاث
اذا كان N هو رقم سالب مثل -5689
تعود الدالة بالرقم -1
اما اذا كان N صفر, تعود لنا الدالة برقم 0
واذا كان N هو رقم موجب مثلا 5432 (او اى رقم موجب) تعود الدالة بالرقم 1
* SQRT(N) تعود لنا بنتيجة جزر الرقم, يعنى SQRT(4) = 2
يمكنك رؤية قائمة كاملة بكل دوال MYSQL الخاصة بالعمليات الرياضية بالرابط التالى
dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html
بعد ان وضحت لكم الية عمل كل دالة من هذه الدوال واشرت لكم على مصدر معرفتى بهذه الدوال.
دعونى اولا القى الضوء على ثلاث دوال وهم FORMAT() و RAND() و ROUND()
الدالة الأولى, لنفرض مثلا انك ادخلت بهذا الحقل سعر سلعة ما لديك.
وكان سعر هذه السلعة مثلا 32568471.5
(لنفرض ان حقل الأسعار اسمه price)
وتريد استخراج هذا الرقم بصورة رقمية للسعر بشكل افضل.
يمكن هذا مع الدالة FORMAT() بهذا الشكل
FORMAT(price, 2)
هذا سوف يجعل السعر بهذا الشكل 32,568,471.50
اما عن الدالة RAND() فهى جيدة فى بعض الأحيان مثلا عندما تريد استخراج بيانات عشوائيا. كالمثال التالى
كود :
SELECT * FROM `products` ORDER BY RAND() LIMIT 1
استعلام مثل الإستعلام اعلاه كل مرة يمكن ان يستخرج لك منتج غير ماعرضه بالمرات السابقة.
والدالة ROUND ايضا مفيدة فى بعض الأحيان, وهى لا يوجد شئ جديد يمكن ان يضاف لتعريفها اكثر مما تم وصفها به.
لكن بكل الأحوال. ربما يكن لديك علم, ان اغلب مشاكل الإستضافات مع اصحاب المواقع تكون بسبب استهلاك مصادر الخادم بشكل كبير, بسبب الإستعلامات التى تعود بنتائج كثيرة جدا, او الإستعلامات المعقدة فى MYSQL
لهذا السبب, انصحك بألا تستخدم اى دوال MYSQL الا ان لم يكن هناك بدائل لهذه الدوال بلغة برمجة موقعك.
يعنى على سبيل المثال, الدوال ABS و POW (مثال وليس حصل)
يوجد دوال تقم بنفس عملهم فى الـ PHP لذلك انصحك بأن تستخدم الدوال المتوفرة فى الـ PHP (فى حالة ان موقعك مبرمج بالـ PHP).
هكذا ننهى درس اليوم. والدرس القادم هو خاتمة هذه الدورة بإذن الله.
المصدر:
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]