في MS SQL Server، هناك مجموعة كبيرة من الدوال الرياضية (Math Functions) التي يمكن استخدامها لإجراء عمليات حسابية متنوعة. فيما يلي قائمة بأهم الدوال الرياضية في SQL Server:


1. العمليات الحسابية الأساسية

  • ABS(number)
    تعيد القيمة المطلقة (بدون العلامة السالبة).
    مثال:

    SELECT ABS(-123.45); -- 123.45
  • CEILING(number)
    تقرب الرقم لأعلى عدد صحيح أقرب.
    مثال:

    SELECT CEILING(123.45); -- 124
  • FLOOR(number)
    تقرب الرقم لأسفل عدد صحيح أقرب.
    مثال:

    SELECT FLOOR(123.45); -- 123
  • ROUND(number, decimals)
    تقرب الرقم بناءً على عدد المنازل العشرية المحدد.
    مثال:

    SELECT ROUND(123.4567, 2); -- 123.46
  • POWER(base, exponent)
    ترفع الرقم إلى القوة المحددة.
    مثال:

    SELECT POWER(2, 3); -- 8

2. الجذر التربيعي والأسس

  • SQRT(number)
    تعيد الجذر التربيعي للرقم.
    مثال:

    SELECT SQRT(16); -- 4
  • EXP(number)
    تعيد العدد النيبيري مرفوعًا إلى قوة الرقم (e^number).
    مثال:

    SELECT EXP(1); -- تقريبًا 2.718
  • LOG(number, base)
    تحسب اللوغاريتم للرقم بناءً على القاعدة المحددة (default: القاعدة الطبيعية).
    مثال:

    SELECT LOG(100, 10); -- 2
    SELECT LOG(100); -- قاعدة طبيعية
  • LOG10(number)
    تحسب اللوغاريتم العشري (قاعدة 10).
    مثال:

    SELECT LOG10(1000); -- 3

3. الدوال المثلثية

  • SIN(angle)
    تعيد جيب الزاوية (زاوية بالـ radians).
    مثال:

    SELECT SIN(PI() / 2); -- 1
  • COS(angle)
    تعيد جيب التمام للزاوية.
    مثال:

    SELECT COS(PI()); -- -1
  • TAN(angle)
    تعيد ظل الزاوية.
    مثال:

    SELECT TAN(PI() / 4); -- 1
  • ATAN(number)
    تعيد قوس ظل الرقم (زاوية).
    مثال:

    SELECT ATAN(1); -- تقريبًا 0.785
  • ASIN(number)
    تعيد قوس الجيب للرقم.
    مثال:

    SELECT ASIN(1); -- تقريبًا 1.5708
  • ACOS(number)
    تعيد قوس جيب التمام للرقم.
    مثال:

    SELECT ACOS(0); -- تقريبًا 1.5708

4. قيم الثوابت الرياضية

  • PI()
    تعيد قيمة π (باي).
    مثال:

    SELECT PI(); -- تقريبًا 3.14159265358979

5. التقريب وإزالة العلامة العشرية

  • SIGN(number)
    تعيد إشارة الرقم (-1 للأرقام السالبة، 0 للصفر، 1 للأرقام الموجبة).
    مثال:

    SELECT SIGN(-123); -- -1
    SELECT SIGN(123); -- 1
  • TRUNCATE(number, decimals)
    تزيل العلامة العشرية حتى عدد معين من المنازل.
    مثال:

    SELECT ROUND(123.456, 0, 1); -- 123 (TRUNCATE behavior)

6. الأرقام العشوائية

  • RAND(seed)
    تعيد رقمًا عشريًا عشوائيًا بين 0 و 1 (يمكن تحديد seed لتكرار نفس القيم).
    مثال:

    SELECT RAND(); -- رقم عشوائي

7. باقي القسمة

  • %
    عامل باقي القسمة (modulus).
    مثال:

    SELECT 10 % 3; -- 1

الخلاصة

هذه الدوال تغطي معظم الاحتياجات الرياضية في SQL Server. إذا كنت بحاجة لدوال متقدمة، يمكن دمج هذه الدوال مع الشروط والجمل الأخرى للحصول على نتائج مخصصة.