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

एलएन () Oracle में फ़ंक्शन

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:

  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. SQL क्वेरी के साथ Oracle स्कीमा आकार कैसे प्रदर्शित करें?

  3. Oracle में स्पष्ट और निहित कर्सर के बीच अंतर क्या है?

  4. Oracle ODP.NET संस्करण अज्ञेयवादी विकल्प

  5. Oracle में तालिका परिभाषा कैसे प्राप्त करें?