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

मारियाडीबी में DATE_FORMAT () कैसे काम करता है

मारियाडीबी में, 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() . यह किसी दिए गए दिनांक प्रारूप के लिए पूर्ण प्रारूप स्ट्रिंग देता है, जो आपको उपयोग करने के लिए प्रारूप स्ट्रिंग को याद रखने से बचाता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL गैलेरा क्लस्टर और ग्लस्टरएफएस के साथ अत्यधिक उपलब्ध नेक्स्टक्लाउड को तैनात करना

  2. मारियाडीबी JSON_QUERY () समझाया गया

  3. मारियाडीबी दिनांक प्रारूप स्ट्रिंग्स

  4. अपने मारियाडीबी डेटा को एन्क्रिप्ट करने के विभिन्न तरीकों की खोज करना

  5. कैसे UPDATEXML () मारियाडीबी में काम करता है