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

लॉग () Oracle में समारोह

Oracle में, LOG() फ़ंक्शन लॉगरिदम देता है, आधार n2 , n1 . का , जहां n2 पहला तर्क है और n1 दूसरा है।

सिंटैक्स

वाक्य रचना इस प्रकार है:

LOG(n2, n1) 

जहां n2 0 . के अलावा कोई भी सकारात्मक मान हो सकता है या 1 , और n1 कोई सकारात्मक मूल्य है।

उदाहरण

यहां एक उदाहरण दिया गया है:

SELECT LOG(16, 73)
FROM DUAL; 

परिणाम:

 लॉग(16,73) 

नकारात्मक मान

नकारात्मक मानों के परिणामस्वरूप "सीमा से बाहर" त्रुटि होती है:

SELECT LOG(-16, 73)
FROM DUAL; 

परिणाम:

पंक्ति से शुरू होने में त्रुटि:कमांड में 1 - DUALError रिपोर्ट से लॉग (-16, 73) चुनें -ORA-01428:तर्क '-16' सीमा से बाहर है

दूसरे तर्क के लिए वही:

SELECT LOG(16, -73)
FROM DUAL; 

परिणाम:

त्रुटि से शुरू होने में त्रुटि:कमांड में 1 - DUALError रिपोर्ट से लॉग (16, -73) चुनें -ORA-01428:तर्क '-73' सीमा से बाहर है

शून्य

पासिंग 0 इसके परिणामस्वरूप "सीमा से बाहर" त्रुटि भी होती है:

SELECT LOG(0, 73)
FROM DUAL; 

परिणाम:

पंक्ति से शुरू होने में त्रुटि:कमांड में 1 - DUALError रिपोर्ट से लॉग (0, 73) चुनें -ORA-01428:तर्क '0' सीमा से बाहर है

और फिर, यही बात दूसरे तर्क पर भी लागू होती है:

SELECT LOG(16, 0)
FROM DUAL; 

परिणाम:

पंक्ति से शुरू होने में त्रुटि:कमांड में 1 - DUALError रिपोर्ट से लॉग (16, 0) चुनें -ORA-01428:तर्क '0' सीमा से बाहर है

1 उत्तीर्ण

पासिंग 1 दूसरे तर्क के लिए 0 . में परिणाम मिलता है :

SELECT LOG(16, 1)
FROM DUAL; 

परिणाम:

 लॉग (16,1) ____________ 0

पासिंग 1 पहले तर्क के परिणामस्वरूप "सीमा से बाहर" त्रुटि होती है:

SELECT LOG(1, 2)
FROM DUAL; 

परिणाम:

पंक्ति से शुरू होने में त्रुटि:कमांड में 1 - DUALError रिपोर्ट से लॉग (1, 2) का चयन करें -ORA-01428:तर्क '1' सीमा से बाहर है

अभिव्यक्ति

तर्कों में इस तरह के भाव शामिल हो सकते हैं:

SELECT LOG(10 + 6, 12 * 30)
FROM DUAL; 

परिणाम:

 लॉग(10+6,12*30) _______________________________________________ 2.1229632740824186776944932934625579835 

गैर-संख्यात्मक तर्क

तर्क कोई भी संख्यात्मक डेटा प्रकार या कोई गैर-संख्यात्मक डेटा प्रकार हो सकता है जिसे परोक्ष रूप से एक संख्यात्मक डेटा प्रकार में परिवर्तित किया जा सकता है।

जब तर्क उस मानदंड को पूरा नहीं करते हैं तो क्या होता है इसका एक उदाहरण यहां दिया गया है:

SELECT LOG('Homer', 'Symptom')
FROM DUAL; 

परिणाम:

पंक्ति से शुरू होने में त्रुटि:कमांड में 1 - DUALError रिपोर्ट से लॉग ('होमर', 'लक्षण') चुनें -ORA-01722:अमान्य संख्या

अशक्त तर्क

LOG() रिटर्न null यदि कोई तर्क null है :

 SET NULL 'null';

SELECT 
    LOG(null, 1024),
    LOG(16, null),
    LOG(null, null)
FROM DUAL; 

परिणाम:

 लॉग (नल, 1024) लॉग (16, नल) लॉग (नल, नल) _________ 

डिफ़ॉल्ट रूप से, SQLcl और SQL*Plus जब भी SQL SELECT के परिणामस्वरूप एक रिक्त मान उत्पन्न होता है तो एक रिक्त स्थान लौटाता है बयान।

हालांकि, आप SET NULL . का उपयोग कर सकते हैं वापस करने के लिए एक अलग स्ट्रिंग निर्दिष्ट करने के लिए। यहाँ मैंने निर्दिष्ट किया है कि स्ट्रिंग null वापस किया जाना चाहिए।

अनुपलब्ध तर्क

कॉलिंग LOG() तर्कों की गलत संख्या के साथ, या बिना किसी तर्क के त्रुटि उत्पन्न होती है:

SELECT LOG()
FROM DUAL; 

परिणाम:

 लाइन से शुरू होने में त्रुटि:कमांड में 1 - कमांड लाइन पर DUALError से लॉग () का चयन करें:1 कॉलम:8 त्रुटि रिपोर्ट -एसक्यूएल त्रुटि:ORA-00909:तर्कों की अमान्य संख्या00909। 00000 - "तर्कों की अमान्य संख्या"*कारण:*कार्रवाई:

और:

SELECT LOG(10, 2, 3)
FROM DUAL; 

परिणाम:

 लाइन से शुरू होने में त्रुटि:कमांड में 1 - कमांड लाइन पर DUALError से लॉग (10, 2, 3) चुनें:1 कॉलम:8 त्रुटि रिपोर्ट - SQL त्रुटि:ORA-00909:तर्कों की अमान्य संख्या00909। 00000 - "तर्कों की अमान्य संख्या"*कारण:*कार्रवाई:

  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. Oracle अनुक्रम लेकिन फिर MS SQL सर्वर में

  3. ओरेकल ट्रेस फ़ाइल से गतिरोध त्रुटि का कारण ढूँढना

  4. Oracle डाटाबेस एक्सप्लोरर:नि:शुल्क प्रशिक्षण और प्रत्यायन

  5. SQL क्वेरी के इतिहास का पता लगाएं