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

कैसे to_char () PostgreSQL में काम करता है

पोस्टग्रेज में, 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

टेम्पलेट पैटर्न और संशोधक की सूची

वास्तविक टेम्प्लेट पैटर्न जिनका आप उपयोग कर सकते हैं, यह इस बात पर निर्भर करता है कि आप दिनांक/समय मान या किसी संख्या को स्वरूपित कर रहे हैं या नहीं।

उपलब्ध टेम्पलेट पैटर्न की पूरी सूची के लिए, देखें:

  • तारीख/समय स्वरूपण के लिए टेम्पलेट पैटर्न और संशोधक
  • संख्यात्मक स्वरूपण के लिए टेम्पलेट पैटर्न और संशोधक


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL UNIQUE बाधा को कैसे लागू करता है/यह किस प्रकार की अनुक्रमणिका का उपयोग करता है?

  2. विभाजन-वार जुड़ने के लिए उन्नत विभाजन मिलान

  3. अनुक्रम के स्वामी तालिका और स्तंभ प्राप्त करें

  4. पोस्टग्रेज में सीरियल बढ़ाया जा रहा है, भले ही मैंने संघर्ष पर जोड़ा कुछ भी न करें

  5. जेपीए फ्लश बनाम प्रतिबद्ध