मारियाडीबी में, TO_CHAR()
एक अंतर्निहित स्ट्रिंग फ़ंक्शन है जो दिनांक/समय अभिव्यक्ति को एक स्ट्रिंग में परिवर्तित करता है।
व्यंजक दिनांक, दिनांक समय, समय या टाइमस्टैम्प मान हो सकता है।
Oracle संगतता बढ़ाने के लिए इस फ़ंक्शन को MariaDB 10.6.1 में पेश किया गया था।
सिंटैक्स
वाक्य रचना इस प्रकार है:
TO_CHAR(expr[, fmt])
जहां expr
एक दिनांक, डेटाटाइम, समय, या टाइमस्टैम्प मान और fmt
है एक वैकल्पिक प्रारूप स्ट्रिंग है जो निर्दिष्ट करती है कि आउटपुट को कैसे स्वरूपित किया जाना चाहिए।
प्रारूप स्ट्रिंग निम्न में से कोई भी हो सकती है:
YYYY
YYY
YY
RRRR
RR
MM
MON
MONTH
MI
DD
DY
HH
HH12
HH24
SS
- विशेष पात्र
डिफ़ॉल्ट मान YYYY-MM-DD HH24:MI:SS
है ।
उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है:
SELECT TO_CHAR('2020-01-01');
परिणाम:
+-----------------------+ | TO_CHAR('2020-01-01') | +-----------------------+ | 2020-01-01 00:00:00 | +-----------------------+
डेटाटाइम मान पास करें
यह उदाहरण डेटाटाइम मान का उपयोग करता है:
SELECT TO_CHAR('2022-12-25 10:30:45');
परिणाम:
+--------------------------------+ | TO_CHAR('2022-12-25 10:30:45') | +--------------------------------+ | 2022-12-25 10:30:45 | +--------------------------------+
एक प्रारूप स्ट्रिंग निर्दिष्ट करें
प्रारूप स्ट्रिंग वाला एक उदाहरण यहां दिया गया है:
SELECT TO_CHAR('2022-12-25 10:30:45', 'YYYY-MM-DD');
परिणाम:
+----------------------------------------------+ | TO_CHAR('2022-12-25 10:30:45', 'YYYY-MM-DD') | +----------------------------------------------+ | 2022-12-25 | +----------------------------------------------+
यहाँ एक और है:
SELECT TO_CHAR('2022-12-25', 'DY, DD MONTH YYYY');
परिणाम:
+--------------------------------------------+ | TO_CHAR('2022-12-25', 'DY, DD MONTH YYYY') | +--------------------------------------------+ | Sun, 25 December 2022 | +--------------------------------------------+
संख्यात्मक तिथियां
जब मैं एक अंकीय तिथि प्रदान करता हूं तो यहां क्या होता है:
SELECT TO_CHAR(20200101);
परिणाम:
ERROR 3047 (HY000): Invalid argument error: data type of first argument must be type date/datetime/time or string in function to_char.
अमान्य तिथियां
अगर तारीख अमान्य है, TO_CHAR()
रिटर्न null
चेतावनी के साथ:
SELECT TO_CHAR('2020-01-51');
परिणाम:
+-----------------------+ | TO_CHAR('2020-01-51') | +-----------------------+ | NULL | +-----------------------+ 1 row in set, 1 warning (0.001 sec)
आइए चेतावनी देखें:
SHOW WARNINGS;
परिणाम:
+---------+------+----------------------------------------+ | Level | Code | Message | +---------+------+----------------------------------------+ | Warning | 1292 | Incorrect datetime value: '2020-01-51' | +---------+------+----------------------------------------+
अमान्य प्रारूप स्ट्रिंग
यदि प्रारूप स्ट्रिंग अमान्य है, TO_CHAR()
एक त्रुटि देता है:
SELECT TO_CHAR('2020-01-01', 'wow');
परिणाम:
ERROR 3047 (HY000): Invalid argument error: date format not recognized at wow in function to_char.
अशक्त प्रारूप स्ट्रिंग
TO_CHAR()
रिटर्न null
यदि प्रारूप स्ट्रिंग null
है, तो :
SELECT TO_CHAR('2020-01-01', null);
परिणाम:
+-----------------------------+ | TO_CHAR('2020-01-01', null) | +-----------------------------+ | NULL | +-----------------------------+
तर्कों की अमान्य संख्या
तर्कों की अमान्य संख्या (या कोई तर्क नहीं) पास करने से त्रुटि होती है:
SELECT TO_CHAR();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TO_CHAR'