मारियाडीबी में, DATE_FORMAT()
एक अंतर्निहित दिनांक और समय फ़ंक्शन है जो दिए गए प्रारूप स्ट्रिंग के अनुसार दिनांक स्वरूपित करता है।
इसके लिए दो तर्कों की आवश्यकता है; दिनांक और प्रारूप स्ट्रिंग। यह एक वैकल्पिक तीसरे तर्क को भी स्वीकार करता है जो आपको लोकेल निर्दिष्ट करने की अनुमति देता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
DATE_FORMAT(date, format[, locale])
जहां date
दिनांक है, format
प्रारूप स्ट्रिंग है (स्वीकृत प्रारूप विनिर्देशक देखें), और locale
लौटाए गए प्रारूप के लिए उपयोग करने के लिए एक वैकल्पिक स्थान है।
उदाहरण
यहां एक उदाहरण दिया गया है:
SELECT DATE_FORMAT('2030-01-25 10:30:45', '%W, %D %M %Y');
परिणाम:
+----------------------------------------------------+ | DATE_FORMAT('2030-01-25 10:30:45', '%W, %D %M %Y') | +----------------------------------------------------+ | Friday, 25th January 2030 | +----------------------------------------------------+
यहाँ यह फिर से है, लेकिन इस बार %r
. का उपयोग करके 12 घंटे के प्रारूप में लौटाए गए समय को वापस करने के लिए:
SELECT DATE_FORMAT('2030-01-25 10:30:45', '%r');
परिणाम:
+------------------------------------------+ | DATE_FORMAT('2030-01-25 10:30:45', '%r') | +------------------------------------------+ | 10:30:45 AM | +------------------------------------------+
हम उन्हें जोड़ सकते हैं, ताकि हमें समय और तारीख मिल सके:
SELECT DATE_FORMAT('2030-01-25 10:30:45', '%r %W, %D %M %Y');
परिणाम:
+-------------------------------------------------------+ | DATE_FORMAT('2030-01-25 10:30:45', '%r %W, %D %M %Y') | +-------------------------------------------------------+ | 10:30:45 AM Friday, 25th January 2030 | +-------------------------------------------------------+
महीने के नाम, दिन के नाम आदि की भाषा lc_time_names
द्वारा निर्धारित की जाती है सिस्टम चर। डिफ़ॉल्ट हमेशा en_US
होता है सिस्टम की लोकेल सेटिंग की परवाह किए बिना। यहां अपनी वर्तमान सेटिंग देखने का तरीका बताया गया है।
स्थानीय तर्क
मारियाडीबी 10.3.2 से शुरू होकर, लोकेल निर्दिष्ट करने के लिए एक वैकल्पिक तीसरे तर्क का उपयोग किया जा सकता है। जब यह निर्दिष्ट किया जाता है, तो यह फ़ंक्शन को सत्र सेटिंग्स से स्वतंत्र बनाता है।
SELECT DATE_FORMAT('2030-01-25', '%W, %D %M %Y', 'es_PR');
परिणाम:
+----------------------------------------------------+ | DATE_FORMAT('2030-01-25', '%W, %D %M %Y', 'es_PR') | +----------------------------------------------------+ | viernes, 25th enero 2030 | +----------------------------------------------------+
यहाँ कुछ और स्थान हैं:
SELECT
DATE_FORMAT('2030-01-25', '%W, %D %M %Y', 'fr_FR') AS fr_FR,
DATE_FORMAT('2030-01-25', '%W, %D %M %Y', 'hr_HR') AS hr_HR,
DATE_FORMAT('2030-01-25', '%W, %D %M %Y', 'ms_MY') AS fr_FR,
DATE_FORMAT('2030-01-25', '%W, %D %M %Y', 'th_TH') AS th_TH;
परिणाम:
fr_FR: vendredi, 25th janvier 2030 hr_HR: Petak, 25th Siječanj 2030 fr_FR: Jumaat, 25th Januari 2030 th_TH: ศุกร์, 25th มกราคม 2030
इस मामले में, आखिरी वाला थाई है, और हालांकि यह महीने के नाम और दिन के नाम के लिए थाई वर्णों का उपयोग करता है, यह वर्ष को थाई कैलेंडर में नहीं बदलता है। थाई कैलेंडर का उपयोग करते समय वर्ष 2030 2573 होगा। तो मुझे लगता है कि यह धारणा है कि यदि आप थाई वर्ष का उपयोग करना चाहते हैं, तो आपके द्वारा पास की जाने वाली तिथि पहले से ही थाई वर्ष का उपयोग करेगी।
वर्तमान तिथि
यहां, हम NOW()
pass पास करते हैं वर्तमान तिथि को प्रारूपित करने के लिए दिनांक तर्क के रूप में:
SELECT DATE_FORMAT(NOW(), '%r %W, %D %M %Y');
परिणाम:
+---------------------------------------+ | DATE_FORMAT(NOW(), '%r %W, %D %M %Y') | +---------------------------------------+ | 09:53:00 AM Tuesday, 11th May 2021 | +---------------------------------------+
अमान्य तर्क
जब कोई अमान्य तर्क पारित किया जाता है, DATE_FORMAT()
रिटर्न null
:
SELECT DATE_FORMAT('Homer', 'Simpson');
परिणाम:
+---------------------------------+ | DATE_FORMAT('Homer', 'Simpson') | +---------------------------------+ | NULL | +---------------------------------+
अनुपलब्ध तर्क
कॉलिंग DATE_FORMAT()
तर्कों की गलत संख्या के साथ, या कोई तर्क पारित किए बिना, एक त्रुटि उत्पन्न होती है:
SELECT DATE_FORMAT();
परिणाम:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1पर ')' के पास उपयोग करने के लिए सही सिंटैक्स के लिए अपने मारियाडीबी सर्वर संस्करण से संबंधित मैनुअल की जांच करें।
और दूसरा उदाहरण:
SELECT DATE_FORMAT('2030-05-21');
परिणाम:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1पर ')' के पास उपयोग करने के लिए सही सिंटैक्स के लिए अपने मारियाडीबी सर्वर संस्करण से संबंधित मैनुअल की जांच करें।
द GET_FORMAT()
समारोह
आप GET_FORMAT()
. का भी उपयोग कर सकते हैं दूसरे तर्क में कार्य करें DATE_FORMAT()
. यह किसी दिए गए दिनांक प्रारूप के लिए पूर्ण प्रारूप स्ट्रिंग देता है, जो आपको उपयोग करने के लिए प्रारूप स्ट्रिंग को याद रखने से बचाता है।