मारियाडीबी में, FROM_UNIXTIME()
एक अंतर्निहित दिनांक और समय फ़ंक्शन है जो किसी दिए गए यूनिक्स टाइमस्टैम्प के आधार पर डेटाटाइम मान देता है।
जब आप इसे कॉल करते हैं तो आप फ़ंक्शन को यूनिक्स टाइमस्टैम्प पास करते हैं।
परिणाम 'YYYY-MM-DD HH:MM:SS'
. में दिया गया है या YYYYMMDDHHMMSS.uuuuuu
प्रारूप, इस पर निर्भर करता है कि फ़ंक्शन का उपयोग स्ट्रिंग या संख्यात्मक संदर्भ में किया जाता है या नहीं।
मान वर्तमान समय क्षेत्र में व्यक्त किया जाता है।
सिंटैक्स
फ़ंक्शन का उपयोग निम्नलिखित तरीकों से किया जा सकता है:
FROM_UNIXTIME(unix_timestamp)
FROM_UNIXTIME(unix_timestamp,format)
जहां unix_timestamp
यूनिक्स टाइमस्टैम्प है, और format
परिणाम स्वरूपित करने के लिए एक वैकल्पिक प्रारूप स्ट्रिंग है।
उदाहरण
यहां एक उदाहरण दिया गया है:
SELECT FROM_UNIXTIME(1721428321);
परिणाम:
+---------------------------+ | FROM_UNIXTIME(1721428321) | +---------------------------+ | 2024-07-20 08:32:01 | +---------------------------+
माइक्रोसेकंड
यहां एक उदाहरण दिया गया है जिसमें माइक्रोसेकंड शामिल हैं:
SELECT FROM_UNIXTIME(1721428321.123456);
परिणाम:
+----------------------------------+ | FROM_UNIXTIME(1721428321.123456) | +----------------------------------+ | 2024-07-20 08:32:01.123456 | +----------------------------------+
संख्यात्मक संदर्भ
FROM_UNIXTIME()
using का उपयोग करते समय संख्यात्मक संदर्भ में, परिणाम YYYYMMDDHHMMSS.uuuuuu
में दिया जाता है प्रारूप:
SELECT FROM_UNIXTIME(1721428321.123456) + 0;
परिणाम:
+--------------------------------------+ | FROM_UNIXTIME(1721428321.123456) + 0 | +--------------------------------------+ | 20240720083201.123456 | +--------------------------------------+
परिणाम प्रारूपित करें
परिणाम स्वरूपित करने के लिए प्रारूप स्ट्रिंग पास करने का एक उदाहरण यहां दिया गया है:
SELECT FROM_UNIXTIME(1721428321, '%W, %D %M %Y');
परिणाम:
+-------------------------------------------+ | FROM_UNIXTIME(1721428321, '%W, %D %M %Y') | +-------------------------------------------+ | Saturday, 20th July 2024 | +-------------------------------------------+
FROM_UNIXTIME()
के साथ उपयोग की जा सकने वाली फ़ॉर्मेट स्ट्रिंग्स की सूची के लिए MariaDB दिनांक स्वरूप स्ट्रिंग्स देखें समारोह।
टाइमस्टैम्प सीमा
MariaDB में टाइमस्टैम्प का अधिकतम मान 2147483647
. है . यह अंतर्निहित 32-बिट सीमा के कारण है। इससे परे टाइमस्टैम्प पर फ़ंक्शन का उपयोग करने से null
. में परिणाम मिलता है लौटाया जा रहा है।
यहां एक उदाहरण दिया गया है जो इस सीमा को प्रदर्शित करता है:
SELECT
FROM_UNIXTIME(2147483647),
FROM_UNIXTIME(2147483648);
परिणाम:
+---------------------------+---------------------------+ | FROM_UNIXTIME(2147483647) | FROM_UNIXTIME(2147483648) | +---------------------------+---------------------------+ | 2038-01-19 13:14:07 | NULL | +---------------------------+---------------------------+
समय क्षेत्र
FROM_UNIXTIME()
. का परिणाम वर्तमान समय क्षेत्र में व्यक्त किया गया है।
निम्नलिखित उदाहरण अलग-अलग समय क्षेत्रों के साथ समान यूनिक्स टाइमस्टैम्प का उपयोग करते हैं:
SET time_zone = 'America/New_York';
SELECT FROM_UNIXTIME(2147483647);
परिणाम:
+---------------------------+ | FROM_UNIXTIME(2147483647) | +---------------------------+ | 2038-01-18 22:14:07 | +---------------------------+
दूसरे समय क्षेत्र में स्विच करें और इसे फिर से चलाएँ:
SET time_zone = 'Africa/Abidjan';
SELECT FROM_UNIXTIME(2147483647);
परिणाम:
+---------------------------+ | FROM_UNIXTIME(2147483647) | +---------------------------+ | 2038-01-19 03:14:07 | +---------------------------+
वर्तमान यूनिक्स टाइमस्टैम्प
यहां एक उदाहरण दिया गया है जो UNIX_TIMESTAMP()
का उपयोग करता है वर्तमान यूनिक्स टाइमस्टैम्प वापस करने के लिए कार्य:
SELECT
UNIX_TIMESTAMP(),
FROM_UNIXTIME(UNIX_TIMESTAMP());
परिणाम:
+------------------+---------------------------------+ | UNIX_TIMESTAMP() | FROM_UNIXTIME(UNIX_TIMESTAMP()) | +------------------+---------------------------------+ | 1621734047 | 2021-05-23 11:40:47 | +------------------+---------------------------------+
अनुपलब्ध तर्क
कॉलिंग FROM_UNIXTIME()
तर्कों की गलत संख्या के साथ, या कोई तर्क पारित किए बिना, एक त्रुटि उत्पन्न होती है:
SELECT FROM_UNIXTIME();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'FROM_UNIXTIME'
और दूसरा उदाहरण:
SELECT FROM_UNIXTIME( 1, 2, 3 );
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'FROM_UNIXTIME'