मारियाडीबी में, LOG()
एक अंतर्निहित फ़ंक्शन है जो किसी दिए गए आधार पर अपने तर्क का प्राकृतिक लघुगणक लौटाता है।
इसे एक या दो तर्कों के साथ कहा जा सकता है:
- जब एक तर्क के साथ बुलाया जाता है, तो तर्क का प्राकृतिक लघुगणक देता है।
- जब दो तर्कों के साथ बुलाया जाता है, तो दूसरे तर्क का लघुगणक पहले तर्क में निर्दिष्ट आधार पर लौटाता है।
जब एकल तर्क के साथ कॉल किया जाता है, LOG()
EXP()
. का विलोम है , और यह LN()
. का उपयोग करने जैसा ही है ।
सिंटैक्स
फ़ंक्शन का उपयोग निम्नलिखित दो तरीकों से किया जा सकता है:
LOG(X)
LOG(B,X)
पहले सिंटैक्स का उपयोग करते समय, फ़ंक्शन X
. का प्राकृतिक लघुगणक लौटाता है ।
दूसरे सिंटैक्स का उपयोग करते समय, फ़ंक्शन X
. का लघुगणक लौटाता है आधार पर B
।
उदाहरण - एकल तर्क सिंटैक्स
यहां एक उदाहरण दिया गया है जो एकल तर्क सिंटैक्स का उपयोग करता है:
SELECT LOG(3);
परिणाम:
+--------------------+ | LOG(3) | +--------------------+ | 1.0986122886681098 | +--------------------+
e . पास करने पर हमें यही मिलता है :
SELECT LOG(2.718281828459045);
परिणाम:
+------------------------+ | LOG(2.718281828459045) | +------------------------+ | 1 | +------------------------+
संख्या ई , जिसे यूलर की संख्या के रूप में भी जाना जाता है, एक गणितीय स्थिरांक है जो लगभग 2.718281828459045… और इसी तरह के बराबर है।
उदाहरण - दो तर्क सिंटैक्स
यहां एक उदाहरण दिया गया है जो दो तर्क सिंटैक्स का उपयोग करता है:
SELECT LOG(10, 3);
परिणाम:
+--------------------+ | LOG(3) | +--------------------+ | 1.0986122886681098 | +--------------------+
यहां विभिन्न आधारों का उपयोग करते हुए समान मान दिया गया है:
SELECT
LOG(8, 3),
LOG(16, 3),
LOG(2, 3);
परिणाम:
+--------------------+--------------------+--------------------+ | LOG(8, 3) | LOG(16, 3) | LOG(2, 3) | +--------------------+--------------------+--------------------+ | 0.5283208335737188 | 0.3962406251802891 | 1.5849625007211563 | +--------------------+--------------------+--------------------+
तर्क रेंज
अगर X
0
. से कम या बराबर है , फिर NULL
चेतावनी के साथ लौटाया जाता है।
SELECT
LOG(0),
LOG(-1),
LOG(16, -3),
LOG(2, -3);
परिणाम:
+--------+---------+-------------+------------+ | LOG(0) | LOG(-1) | LOG(16, -3) | LOG(2, -3) | +--------+---------+-------------+------------+ | NULL | NULL | NULL | NULL | +--------+---------+-------------+------------+ 1 row in set, 4 warnings (0.001 sec)
आइए चेतावनियों की जाँच करें:
SHOW WARNINGS;
परिणाम:
+---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | | Warning | 1365 | Division by 0 | | Warning | 1365 | Division by 0 | | Warning | 1365 | Division by 0 | +---------+------+---------------+
साथ ही, आधार 1
. से बड़ा होना चाहिए . यदि नहीं, तो NULL
लौटा दिया गया है:
SELECT
LOG(0, 3),
LOG(1, 3),
LOG(-1, 3);
परिणाम:
+-----------+-----------+------------+ | LOG(0, 3) | LOG(1, 3) | LOG(-1, 3) | +-----------+-----------+------------+ | NULL | NULL | NULL | +-----------+-----------+------------+ 1 row in set, 3 warnings (0.000 sec)
चेतावनियों की जाँच करें:
SHOW WARNINGS;
परिणाम:
+---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | | Warning | 1365 | Division by 0 | | Warning | 1365 | Division by 0 | +---------+------+---------------+
गैर-संख्यात्मक तर्क
जब हम गैर-संख्यात्मक तर्क प्रदान करते हैं तो क्या होता है इसका एक उदाहरण यहां दिया गया है:
SELECT LOG('Homer', 'Simpson');
परिणाम:
+-------------------------+ | LOG('Homer', 'Simpson') | +-------------------------+ | NULL | +-------------------------+ 1 row in set, 2 warnings (0.000 sec)
आइए देखें चेतावनी:
SHOW WARNINGS;
परिणाम:
+---------+------+-------------------------------------------+ | Level | Code | Message | +---------+------+-------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Homer' | | Warning | 1365 | Division by 0 | +---------+------+-------------------------------------------+
अशक्त तर्क
LOG()
रिटर्न null
यदि कोई तर्क null
है :
SELECT
LOG(null),
LOG(null, 3),
LOG(16, null),
LOG(null, null);
परिणाम:
+-----------+--------------+---------------+-----------------+ | LOG(null) | LOG(null, 3) | LOG(16, null) | LOG(null, null) | +-----------+--------------+---------------+-----------------+ | NULL | NULL | NULL | NULL | +-----------+--------------+---------------+-----------------+
अनुपलब्ध तर्क
कॉलिंग LOG()
तर्कों की गलत संख्या के साथ, या बिना किसी तर्क के त्रुटि उत्पन्न होती है:
SELECT LOG();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG'
और:
SELECT LOG(10, 2, 3);
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG'