पोस्टग्रेज में, to_char()
एक डेटा प्रकार स्वरूपण फ़ंक्शन है जो इसके पहले तर्क को एक स्ट्रिंग में परिवर्तित करता है।
स्ट्रिंग का प्रारूप दूसरे तर्क द्वारा निर्धारित किया जाता है।
to_char()
निम्नलिखित रूपांतरण करने के लिए फ़ंक्शन का उपयोग किया जा सकता है:
- स्ट्रिंग के लिए टाइम स्टैम्प
- स्ट्रिंग में अंतराल
- स्ट्रिंग से पूर्णांक
- स्ट्रिंग के लिए वास्तविक/दोहरी परिशुद्धता
- अंक से स्ट्रिंग तक
सिंटैक्स
वाक्य रचना इस प्रकार है:
to_char(timestamp, text)
to_char(interval, text)
to_char(int, text)
to_char(double precision, text)
to_char(numeric, text)
जहां पहला तर्क कनवर्ट करने का मान है (सूचीबद्ध किसी भी डेटा प्रकार में) और text
एक प्रारूप स्ट्रिंग है जिसके साथ पहले तर्क को प्रारूपित करना है।
उदाहरण
यहां दिनांक मान को प्रारूपित करने का एक उदाहरण दिया गया है:
SELECT to_char(date '2020-12-25', 'Day, DD Month YYYY');
परिणाम:
Friday , 25 December 2020
इस मामले में, प्रारूप स्ट्रिंग Day, DD Month YYYY
to_char()
. द्वारा यह निर्धारित करता है कि जब दिनांक को एक स्ट्रिंग के रूप में वापस किया जाता है तो उसे कैसे स्वरूपित किया जाता है ।
टेम्पलेट पैटर्न
प्रारूप स्ट्रिंग में एक या अधिक टेम्पलेट पैटर्न होते हैं .
पिछले उदाहरण में, मेरा प्रारूप स्ट्रिंग था Day, DD Month YYYY
. इसलिए, इसमें निम्नलिखित टेम्पलेट पैटर्न शामिल थे:
Day
DD
Month
YYYY
मैं कम या ज्यादा टेम्पलेट पैटर्न का उपयोग कर सकता था, और आउटपुट अलग होता।
उदाहरण के लिए, मैं निम्नलिखित कार्य कर सकता था:
SELECT to_char(date '2020-12-25', 'Day');
परिणाम:
Friday
वैकल्पिक रूप से, मेरी प्रारूप स्ट्रिंग में पूरी तरह से टेम्पलेट पैटर्न की एक अलग श्रृंखला शामिल हो सकती है।
उदाहरण के लिए:
SELECT to_char(date '2020-12-25', 'Dy, DD Mon YY');
परिणाम:
Fri, 25 Dec 20
टेम्पलेट पैटर्न संशोधक
आप अपनी प्रारूप स्ट्रिंग में टेम्पलेट पैटर्न संशोधक भी जोड़ सकते हैं।
उपयोग किए गए संशोधक के आधार पर परिणाम थोड़ा अलग होगा।
उदाहरण के लिए, निम्न उदाहरण महीने के दिन को एक क्रमिक संख्या के रूप में प्रस्तुत करता है।
SELECT to_char(date '2020-12-25', 'Day, DDth Month YYYY');
परिणाम:
Friday , 25 December 2020
यह पहले उदाहरण जैसा ही है लेकिन अंतर यह है कि मैंने th
. जोड़ा है टेम्पलेट संशोधक DD
. के प्रत्यय के रूप में टेम्पलेट पैटर्न। यह क्रमिक संख्या प्रत्यय को महीने के दिन में जोड़ देता है।
इसलिए हम 25वें . के साथ समाप्त होते हैं केवल 25 . के बजाय ।
टेम्प्लेट संशोधक के प्रभाव पर जोर देने के लिए, विभिन्न मूल्यों पर लागू होने पर यह कैसा दिखता है।
SELECT
to_char(date '2020-12-01', 'DDth') AS "1",
to_char(date '2020-12-02', 'DDth') AS "2",
to_char(date '2020-12-03', 'DDth') AS "3",
to_char(date '2020-12-04', 'DDth') AS "4";
परिणाम:
1 | 2 | 3 | 4 ------+------+------+------ 01st | 02nd | 03rd | 04th
यदि आवश्यक हो तो मैं अग्रणी शून्य को दबाने के लिए एक और संशोधक जोड़ सकता हूं।
SELECT
to_char(date '2020-12-01', 'FMDDth') AS "1",
to_char(date '2020-12-02', 'FMDDth') AS "2",
to_char(date '2020-12-03', 'FMDDth') AS "3",
to_char(date '2020-12-04', 'FMDDth') AS "4";
परिणाम:
1 | 2 | 3 | 4 -----+-----+-----+----- 1st | 2nd | 3rd | 4th
इस मामले में मैंने FM
. जोड़ा जो "फिल मोड" के लिए है। यह संशोधक अग्रणी शून्य और पैडिंग रिक्त स्थान को दबा देता है।
संख्यात्मक
पिछला उदाहरण संख्यात्मक मानों पर भी लागू किया जा सकता है।
हालांकि, संख्यात्मक मानों का उपयोग करते समय, आपको D
. को स्वैप करना होगा या तो 9
. के साथ या 0
।
SELECT
to_char(1, '9th') AS "1",
to_char(2, '9th') AS "2",
to_char(3, '9th') AS "3",
to_char(4, '9th') AS "4";
परिणाम:
1 | 2 | 3 | 4 ------+------+------+------ 1st | 2nd | 3rd | 4th
टेम्पलेट पैटर्न और संशोधक की सूची
वास्तविक टेम्प्लेट पैटर्न जिनका आप उपयोग कर सकते हैं, यह इस बात पर निर्भर करता है कि आप दिनांक/समय मान या किसी संख्या को स्वरूपित कर रहे हैं या नहीं।
उपलब्ध टेम्पलेट पैटर्न की पूरी सूची के लिए, देखें:
- तारीख/समय स्वरूपण के लिए टेम्पलेट पैटर्न और संशोधक
- संख्यात्मक स्वरूपण के लिए टेम्पलेट पैटर्न और संशोधक