Oracle में, LN()
फ़ंक्शन अपने तर्क का प्राकृतिक लघुगणक देता है, जहां तर्क 0
. से बड़ा है ।
दूसरे शब्दों में, यह आधार देता है-e इसके तर्क का लघुगणक।
संख्या ई , जिसे यूलर की संख्या के रूप में भी जाना जाता है, एक गणितीय स्थिरांक है जो लगभग 2.71828 के बराबर है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
LN(n)
जहां n
कोई भी संख्यात्मक डेटा प्रकार या कोई गैर-संख्यात्मक डेटा प्रकार है जिसे परोक्ष रूप से एक संख्यात्मक डेटा प्रकार में परिवर्तित किया जा सकता है।
उदाहरण
यहां एक उदाहरण दिया गया है:
SELECT LN(73)
FROM DUAL;
परिणाम:
LN(73) __________________________________________ 4.2904594411483911290921088574385425709
e . पास करने पर हमें यही मिलता है :
SELECT LN(2.718281828459045235360287471352662497757)
FROM DUAL;
परिणाम:
LN(2.718281828459045235360287471352662497757) ________________________________________________ 1
हालाँकि, भिन्नात्मक स्थानों की संख्या इस उदाहरण से भिन्न होती है। जब मैं अंतिम अंक हटाता हूं तो यहां क्या होता है:
SELECT LN(2.71828182845904523536028747135266249775)
FROM DUAL;
परिणाम:
LN(2.71828182845904523536028747135266249775) _______________________________________________ 0.9999999999999999999999999999999999999963
नकारात्मक मान
नकारात्मक मानों के परिणामस्वरूप "सीमा से बाहर" त्रुटि होती है:
SELECT LN(-5.490)
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT LN(-5.490) FROM DUAL Error report - ORA-01428: argument '-5.49' is out of range
शून्य
पासिंग 0
इसके परिणामस्वरूप "सीमा से बाहर" त्रुटि भी होती है:
SELECT LN(0)
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT LN(0) FROM DUAL Error report - ORA-01428: argument '0' is out of range
अभिव्यक्ति
तर्क में इस तरह के भाव शामिल हो सकते हैं:
SELECT LN(2 * 3)
FROM DUAL;
परिणाम:
LN(2*3) ___________________________________________ 1.79175946922805500081247735838070227272
गैर-संख्यात्मक तर्क
तर्क कोई भी संख्यात्मक डेटा प्रकार या कोई गैर-संख्यात्मक डेटा प्रकार हो सकता है जिसे परोक्ष रूप से एक संख्यात्मक डेटा प्रकार में परिवर्तित किया जा सकता है।
जब तर्क उस मानदंड को पूरा नहीं करता है तो क्या होता है इसका एक उदाहरण यहां दिया गया है:
SELECT LN('Euler')
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT LN('Euler') FROM DUAL Error report - ORA-01722: invalid number
अशक्त तर्क
LN()
रिटर्न null
अगर तर्क null
है :
SET NULL 'null';
SELECT LN(null)
FROM DUAL;
परिणाम:
LN(NULL) ___________ null
डिफ़ॉल्ट रूप से, SQLcl और SQL*Plus जब भी SQL SELECT
के परिणामस्वरूप एक रिक्त मान उत्पन्न होता है तो एक रिक्त स्थान लौटाता है बयान।
हालांकि, आप SET NULL
. का उपयोग कर सकते हैं वापस करने के लिए एक अलग स्ट्रिंग निर्दिष्ट करने के लिए। यहाँ मैंने निर्दिष्ट किया है कि स्ट्रिंग null
लौटाया जाना चाहिए।
अनुपलब्ध तर्क
कॉलिंग LN()
तर्कों की गलत संख्या के साथ, या बिना किसी तर्क के त्रुटि उत्पन्न होती है:
SELECT LN()
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT LN() 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 LN(10, 2)
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT LN(10, 2) 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: