Oracle में, MOD()
फ़ंक्शन मोडुलो ऑपरेशन देता है। दूसरे शब्दों में, यह अपने पहले तर्क के शेष भाग को इसके दूसरे से विभाजित करके लौटाता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
MOD(n2, n1)
प्रत्येक तर्क कोई भी संख्यात्मक डेटा प्रकार या कोई गैर-संख्यात्मक डेटा प्रकार हो सकता है जिसे परोक्ष रूप से एक संख्यात्मक डेटा प्रकार में परिवर्तित किया जा सकता है।
उदाहरण
यहां एक उदाहरण दिया गया है:
SELECT MOD(100, 6)
FROM DUAL;
परिणाम:
MOD(100,6) _____________ 4
Oracle MOD() बनाम शास्त्रीय मापांक
Oracle का MOD()
फ़ंक्शन शास्त्रीय गणितीय मापांक फ़ंक्शन से अलग व्यवहार करता है, यदि n1
. का उत्पाद और n2
नकारात्मक है।
यहां एक उदाहरण दिया गया है जो दर्शाता है कि इनमें से प्रत्येक कैसे भिन्न है:
SELECT
MOD(100, 6) AS "Oracle MOD()",
100 - 6 * FLOOR(100/6) AS "Classical"
FROM DUAL
UNION ALL
SELECT
MOD(100, -6),
100 - -6 * FLOOR(100/-6)
FROM DUAL
UNION ALL
SELECT
MOD(-100, 6),
-100 - 6 * FLOOR(-100/6)
FROM DUAL
UNION ALL
SELECT
MOD(-100, -6),
-100 - -6 * FLOOR(-100/-6)
FROM DUAL;
परिणाम:
Oracle MOD() Classical
____________ _________
4 4
4 -2
-4 2
-4 -4
गैर-संख्यात्मक तर्क
तर्क कोई भी संख्यात्मक डेटा प्रकार या कोई गैर-संख्यात्मक डेटा प्रकार हो सकता है जिसे परोक्ष रूप से एक संख्यात्मक डेटा प्रकार में परिवर्तित किया जा सकता है।
जब तर्क उस मानदंड को पूरा नहीं करते हैं तो क्या होता है इसका एक उदाहरण यहां दिया गया है:
SELECT MOD('Homer', 'Symptom')
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT MOD('Homer', 'Symptom') FROM DUAL Error report - ORA-01722: invalid number
अशक्त तर्क
MOD()
रिटर्न null
अगर कोई तर्क null
है :
SET NULL 'null';
SELECT
MOD(null, 16),
MOD(1024, null),
MOD(null, null)
FROM DUAL;
परिणाम:
MOD(NULL,16) MOD(1024,NULL) MOD(NULL,NULL) _______________ _________________ _________________ null null null
डिफ़ॉल्ट रूप से, SQLcl और SQL*Plus जब भी SQL SELECT
के परिणामस्वरूप एक रिक्त मान उत्पन्न होता है तो एक रिक्त स्थान लौटाता है बयान।
हालांकि, आप SET NULL
. का उपयोग कर सकते हैं वापस करने के लिए एक अलग स्ट्रिंग निर्दिष्ट करने के लिए। यहाँ मैंने निर्दिष्ट किया है कि स्ट्रिंग null
लौटाया जाना चाहिए।
अनुपलब्ध तर्क
कॉलिंग MOD()
तर्कों की गलत संख्या के साथ, या बिना किसी तर्क के त्रुटि उत्पन्न होती है:
SELECT MOD()
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT MOD() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action:
और:
SELECT MOD(10, 2, 3)
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT MOD(10, 2, 3) FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: