الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

محتاج شرح تفصيلى للدالة MOD

Featured Replies

بتاريخ:

السلام عليكم ،،،

من فضلكم يا جماعة محتاج شرح تفصيلى للدالة MOD
أنا أعرف إنها تستخدم لحساب باقى القسمة بس مش فاهم
كيف يكون التطبيق أو الإستفادة منها فى إيـــه!!
يارييت لو فى أمثله

وشكراً B)

بتاريخ:

وعليكم السلام

زى ما قلت ان الدالة (MOD) بتستخدم فى حساب باقى القسمة

بس الإستخدام الشائع للدالة فى ان

- هل الرقم زوجى ام فردى
- فى حصول على كل القيم الزوجية او الفردية من الجدول

والأمثلة على كده :-
المثال (1)

SQL> select MOD(8, 2) from dual;

 MOD(8,2)
----------
        0


فى حالة قسمة الأرقام الزوجية (2-4-6-8-10- ) على رقم (2)

الدلة لازم بترجع القيمة (صفر)

SQL> select MOD(7,2) from dual;

 MOD(7,2)
----------
        1



SQL> select MOD(13, 2) from dual;

 MOD(13,2)
----------
        1



فى حالة قسمة الأرقام الفردية (3-5-7-9-11-) على الرقم (2)
الدلة لازم بترجع القيمة (1)

المثال (2)

SQL> create table emp
 2  ( empno      NUMBER(4)    constraint E_PK primary key
 3  , ename      VARCHAR2(8)
 4  , init       VARCHAR2(5)
 5  , job        VARCHAR2(8)
 6  , mgr        NUMBER(4)
 7  , bdate      DATE
 8  , sal        NUMBER(6,2)
 9  , comm       NUMBER(6,2)
10  , deptno     NUMBER(2)    default 10
11  ) ;

Table created.

SQL> insert into emp values(1,'Tom','N',   'Coder', 13,date '1965-12-17',  800 , NULL,  20);

1 row created.

SQL> insert into emp values(2,'Jack','JAM', 'Tester',6,date '1961-02-20',  1600, 300,   30);

1 row created.

SQL> insert into emp values(3,'Wil','TF' ,  'Tester',6,date '1962-02-22',  1250, 500,   30);

1 row created.

SQL> insert into emp values(4,'Jane','JM',  'Designer', 9,date '1967-04-02',  2975, NULL,  20);

1 row created.

SQL> insert into emp values(5,'Mary','P',  'Tester',6,date '1956-09-28',  1250, 1400,  30);

1 row created.

SQL> insert into emp values(6,'Black','R',   'Designer', 9,date '1963-11-01',  2850, NULL,  30);

1 row created.

SQL> insert into emp values(7,'Chris','AB',  'Designer', 9,date '1965-06-09',  2450, NULL,  10);

1 row created.

SQL> insert into emp values(8,'Smart','SCJ', 'Coder', 4,date '1959-11-26',  3000, NULL,  20);

1 row created.

SQL> insert into emp values(9,'Peter','CC',   'Designer',NULL,date '1952-11-17',  5000, NULL,  10);

1 row created.

SQL> insert into emp values(10,'Take','JJ', 'Tester',6,date '1968-09-28',  1500, 0,     30);

1 row created.

SQL> insert into emp values(11,'Ana','AA',  'Coder', 8,date '1966-12-30',  1100, NULL,  20);

1 row created.

SQL> insert into emp values(12,'Jane','R',   'Manager',   6,date '1969-12-03',  800 , NULL,  30);

1 row created.

SQL> insert into emp values(13,'Fake','MG',   'Coder', 4,date '1959-02-13',  3000, NULL,  20);

1 row created.

SQL> insert into emp values(14,'Mike','TJA','Manager',   7,date '1962-01-23',  1300, NULL,  10);

1 row created. 

SQL>
SQL> select empno as odd_empno
 2  ,      ename
 3  from   emp
 4  where  mod(empno,2) = 1;

ODD_EMPNO ENAME
---------- --------
        1 Tom
        3 Wil
        5 Mary
        7 Chris
        9 Peter
       11 Ana
       13 Fake

7 rows selected



فى المثال الثانى
الدالة (MOD) بترجع الموظفيين اللى ارقامهم فردية


اتمنى ان اكون وصلتلك المعلومة صح

بتاريخ:
  • كاتب الموضوع

أشكرك أخويا أمير على تعبك معايا B)
وأنا فعلت فهمت كتير ،،
يعنى ممكن نقول أن الفورمة بتاعتها كالتالى :
(2,رقم زوجى)MOD= صفر
(2,رقم فردى)MOD= واحد
وبكده أنا ممكن أستعلم عن الأرقام الفرديه والزوجية .. كما هو فى المثال .
بس إيه يكون فى حالة تغير رقم 2
مثلا : MOd(1600,300) الناتج يكون 100 كيف؟
النتيجه ده جت إزاى!؟

مع إننا لوقسمنا 1600/300= 5.34 تقريباو ما معنى باقى قسمة رقم على رقم؟
معلش أنا عايز أفهمها أكتر .. وأنا عارف إنى تعبتكم من كتر علامات الاستفهام فوق
فاصبروا واحتسبوا وجزاكم الله خيرا
وشكرا ..

بتاريخ:

فى حالة القسمة ونرمز له بالرمز (/) وبنحصل فقط على ناتج القسمة

1600/300 = 5.36


اما فى حالة باقى القسمة ونرمز له بالرمز (%)
لو حصلت على ناتج القسمة سهل احصل على باقى القسمة

1600%300 = 100 

فناتج القسمة هنا بيكون (5) من غير كسور وليس (5.36)

اما باقى القسمة
1600 - (5*300)
1600 - 1500
= 100

ودى طريقة سريعة لحساب باقى القسمة

لو قسمنا 1600 على 300 فبيكون ( ناتج القسمة ) هو 5 من غير كسور
لييه 5 ومش 6 او 4 ؟ لان
4 * 300 = 1200 وهو رقم بعيد عن 1600
5 * 300 = 1500 وهو اقرب رقم ل 1600
6 * 300 = 1800 وهو رقم اكبر من 1600 ومينفعش

اما( باقى القسمة ) بيكون عبارة عن
1600 - 1500 = 100

---------------------------------------------------------------------
استخدمت رقم (2) علشان انه اصغر رقم زوجى ويقبل القسمة على جميع الارقام
وكى يبين الارقام الزوجية من الفردية

اتمنى ان اكون حصلتلك المعلومة

تم تعديل بواسطة amirsheta

بتاريخ:
  • كاتب الموضوع

شكرا يا أمير على تعبك معايا ،،
توضيحك ممتاز ...مفيش بعد كده B)

وجزاك الله خيرا،،،

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

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

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.