0Pricing
SQL Academy · درس

دوال رياضية مفيدة

ABS وMOD وPOWER وغيرها

دوال رياضية مفيدة درس مجاني في SQL Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في SQL Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة SQL Academy 4 دروس في المجموع.

أهمية الدوال الرياضية

لا يقتصر SQL على تخزين النصوص واستردادها، بل يُعد أيضًا أداة قوية لإجراء العمليات الحسابية الرقمية. تتيح لك الدوال الرياضية المضمّنة حساب القيم المطلقة والبواقي والقوى وغير ذلك، من دون مغادرة الاستعلام.

في هذا الدرس ستتعلّم أكثر الدوال الرقمية فائدةً في SQL: ABS وMOD وPOWER وSQRT وROUND وCEIL وFLOOR وSIGN.

ABS — القيمة المطلقة

تُرجع ABS(n) القيمة المطلقة، أي غير السالبة، لعدد ما. تتحول الأعداد السالبة إلى موجبة، بينما تبقى الأعداد الموجبة والصفر دون تغيير.

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

SELECT ABS(-42),  -- 42
       ABS(15),   -- 15
       ABS(0);    -- 0

استخدام ABS في استعلام فعلي

لنفترض وجود جدول transactions تُخزَّن فيه عمليات السحب كمبالغ سالبة. يمكنك استخدام ABS لعرض كل مبلغ كرقم موجب بصرف النظر عن اتجاهه.

CREATE TABLE transactions (
  id     INTEGER,
  amount NUMERIC
);

INSERT INTO transactions VALUES (1, 200.00), (2, -50.00), (3, -120.00), (4, 80.00);

SELECT id,
       amount,
       ABS(amount) AS absolute_amount
FROM   transactions;

MOD — باقي القسمة

تُرجع MOD(dividend, divisor) الباقي الناتج عن قسمة العدد الأول على الثاني. وهي المكافئ في SQL للعامل % الموجود في كثير من لغات البرمجة.

من الاستخدامات الشائعة التحقق مما إذا كان العدد زوجيًا أو فرديًا: إذا كانت MOD(n, 2) = 0 فالعدد زوجي، وإلا فهو فردي.

SELECT MOD(10, 3),  -- 1  (10 = 3*3 + 1)
       MOD(15, 5),  -- 0  (15 = 5*3 + 0)
       MOD(7,  2);  -- 1  (odd number)

استخدام MOD في استعلام فعلي

يمكنك استخدام MOD داخل جملة WHERE لتصفية الصفوف. نحدد هنا الطلبات التي تكون قيمة id فيها زوجية فقط.

CREATE TABLE orders (
  id    INTEGER,
  total NUMERIC
);

INSERT INTO orders VALUES (1, 99.99), (2, 45.00), (3, 130.50), (4, 22.00), (5, 75.00), (6, 60.00);

SELECT id, total
FROM   orders
WHERE  MOD(id, 2) = 0;

POWER — الرفع إلى أس

ترفع POWER(base, exponent) عددًا إلى الأس المحدد. تعطي POWER(2, 10) القيمة 1024، بينما تعطي POWER(9, 0.5) القيمة 3، وهي الجذر التربيعي للعدد 9.

تكون هذه الدالة مفيدة في حسابات الفائدة المركبة، وصيغ المساحات، وأي موقف يتضمن نموًا أُسّيًا.

SELECT POWER(2, 10),   -- 1024
       POWER(3, 3),    -- 27
       POWER(9, 0.5);  -- 3 (square root)

SQRT — الجذر التربيعي

تُعد SQRT(n) اختصارًا مريحًا للتعبير POWER(n, 0.5). وهي تُرجع الجذر التربيعي لعدد غير سالب.

على سبيل المثال، إذا خزّنت مساحة قطعة أرض مربعة، فيمكنك استرجاع طول ضلعها باستخدام SQRT(area).

SELECT SQRT(25),   -- 5
       SQRT(2),    -- 1.4142...
       SQRT(100);  -- 10

ROUND — التقريب إلى N من المنازل العشرية

تقرّب ROUND(n, d) القيمة n إلى d من المنازل العشرية. إذا حذفت d أو مرّرت القيمة 0، تكون النتيجة عددًا صحيحًا. وتقرّب القيم السالبة لـ d إلى يسار الفاصلة العشرية.

SELECT ROUND(3.14159, 2),  -- 3.14
       ROUND(2.555, 2),    -- 2.56
       ROUND(1234.5, -2),  -- 1200
       ROUND(9.9);         -- 10

CEIL وFLOOR — التقريب دائمًا إلى الأعلى أو الأسفل

تقرّب CEIL(n)، التي تُكتب أيضًا CEILING، دائمًا إلى الأعلى نحو أقرب عدد صحيح، بينما تقرّب FLOOR(n) دائمًا إلى الأسفل.

استخدم CEIL عندما تحتاج إلى الحد الأدنى لعدد من الأشياء، مثل عدد الصفحات اللازمة لطباعة الصفوف، واستخدم FLOOR عندما تحتاج إلى أكبر عدد صحيح لا يتجاوز قيمةً ما، مثل عدد الأسابيع الكاملة المنقضية.

SELECT CEIL(4.1),   -- 5
       CEIL(-4.1),  -- -4
       FLOOR(4.9),  -- 4
       FLOOR(-4.9); -- -5

SIGN — ما اتجاه العدد؟

تُرجع SIGN(n) القيمة 1 إذا كان العدد موجبًا، والقيمة -1 إذا كان سالبًا، والقيمة 0 إذا كان صفرًا. وهي طريقة سريعة لتصنيف القيم الرقمية من دون كتابة تعبير CASE.

SELECT SIGN(42),   -- 1
       SIGN(-7),   -- -1
       SIGN(0);    -- 0

دمج الدوال الرياضية

يمكن دمج الدوال الرياضية بحرية داخل تعبير واحد. يحسب المثال أدناه الدفعة الشهرية لقرض بسيط باستخدام ROUND وPOWER معًا، موضحًا كيف تتكامل هذه الدوال في منطق الأعمال الفعلي.

-- Monthly payment formula: P * r / (1 - (1+r)^-n)
-- P=10000, annual rate 6% (r=0.005/month), n=24 months
SELECT ROUND(
  10000.0 * 0.005 / (1 - POWER(1 + 0.005, -24)),
  2
) AS monthly_payment;

تحقق سريع

اختبر مدى فهمك للدوال الرياضية في SQL.

مراجعة الدرس

أحسنت العمل! إليك ملخصًا للدوال الرياضية في SQL التي تعلّمتها في هذا الدرس:

  • ABS(n) — القيمة المطلقة، أي إزالة الإشارة
  • MOD(a, b) — الباقي بعد قسمة a على b
  • POWER(base, exp) — رفع عدد إلى أس
  • SQRT(n) — الجذر التربيعي
  • ROUND(n, d) — التقريب إلى d من المنازل العشرية
  • CEIL(n) — التقريب دائمًا إلى العدد الصحيح التالي
  • FLOOR(n) — التقريب دائمًا إلى العدد الصحيح السابق
  • SIGN(n) — إرجاع 1 أو -1 أو 0 بناءً على إشارة العدد

تعمل هذه الدوال في جميع قواعد بيانات SQL الرئيسية، ويمكن تداخلها أو دمجها لمعالجة المنطق الرقمي المعقد مباشرةً داخل استعلاماتك.

الأسئلة الشائعة

هل درس «دوال رياضية مفيدة» مجاني؟

نعم — نص درس «دوال رياضية مفيدة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة SQL Academy، انتقل إلى CoddyKit PRO. تتضمن دورة SQL Academy 4 دروس في المجموع.

ماذا ستتعلم في «دوال رياضية مفيدة»؟

ABS وMOD وPOWER وغيرها تتمرن على SQL Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ SQL Academy؟

لا تُشترط خبرة سابقة. SQL Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «دوال رياضية مفيدة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس SQL Academy هذا؟

نعم. كل درس في SQL Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. الحساب والمعاملات
  2. التقريب والاقتطاع
  3. القسمة الصحيحة مقابل العشرية
  4. دوال رياضية مفيدة
← العودة إلى SQL Academy