Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ओरेकल में एमओडी () फ़ंक्शन

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:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पीएल/एसक्यूएल ब्लॉक में स्ट्रिंग चर से उपयोगकर्ता बनाएं

  2. Django ओरेकल डीबी सेटिंग्स

  3. ओरेकल स्ट्रीम स्टेप बाय स्टेप प्रतिकृति उदाहरण

  4. OracleParameter.Value को Int32 . में बदलें

  5. CURRENT_TIMESTAMP () Oracle में फ़ंक्शन