Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में YYYYMMDD फॉर्मेट को YY-MM-DD में कैसे बदलें?

STR_TO_DATE और DATE_FORMAT से तारीख फॉर्मेट बदलें

संख्यात्मक स्ट्रिंग (YYYYMMDD) को मानक तारीख फॉर्मेट (YYYY-MM-DD) में बदलने के लिए STR_TO_DATE पार्स करने और DATE_FORMAT से फॉर्मेट करने के लिए उपयोग करें।

सिंटैक्स

DATE_FORMAT(STR_TO_DATE(column, '%Y%m%d'), '%Y-%m-%d')

टेबल और डेटा

mysql> CREATE TABLE DemoTable (
    ClientId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ClientProjectDeadline VARCHAR(200)
);

mysql> INSERT INTO DemoTable(ClientProjectDeadline) VALUES('20121221');
mysql> INSERT INTO DemoTable(ClientProjectDeadline) VALUES('20190416');
mysql> INSERT INTO DemoTable(ClientProjectDeadline) VALUES('20160624');
mysql> INSERT INTO DemoTable(ClientProjectDeadline) VALUES('20170131');

मूल डेटा

mysql> SELECT * FROM DemoTable;

+----------+-----------------------+
| ClientId | ClientProjectDeadline |
+----------+-----------------------+
| 1        | 20121221              |
| 2        | 20190416              |
| 3        | 20160624              |
| 4        | 20170131              |
+----------+-----------------------+

रूपांतरण क्वेरी

mysql> SELECT DATE_FORMAT(STR_TO_DATE(ClientProjectDeadline, '%Y%m%d'), '%Y-%m-%d') FROM DemoTable;

+----------------------------------------------------------------------+
| DATE_FORMAT(STR_TO_DATE(ClientProjectDeadline, '%Y%m%d'), '%Y-%m-%d') |
+----------------------------------------------------------------------+
| 2012-12-21                                                           |
| 2019-04-16                                                           |
| 2016-06-24                                                           |
| 2017-01-31                                                           |
+----------------------------------------------------------------------+

फॉर्मेट स्पेसिफायर

स्पेसिफायरअर्थ
%Y4-अंकीय वर्ष
%m2-अंकीय महीना (01-12)
%d2-अंकीय दिन (01-31)

अन्य उपयोगी फॉर्मेट

-- DD/MM/YYYY के लिए
DATE_FORMAT(STR_TO_DATE(col, '%Y%m%d'), '%d/%m/%Y')

-- YY-MM-DD (2-अंकीय वर्ष) के लिए
DATE_FORMAT(STR_TO_DATE(col, '%Y%m%d'), '%y-%m-%d')

सर्वोत्तम अभ्यास

तारीख डेटा के लिए हमेशा उचित DATE या DATETIME टाइप का उपयोग करें। स्ट्रिंग के रूप में संग्रहीत तारीखें केवल माइग्रेशन या लिगेसी डेटा के लिए सहन करें।

  1. - MySQL में DATE_FORMAT() से YYYY-MM-DD को DD Month, YYYY में बदलना

    DATE_FORMAT() फंक्शन MySQL में DATE_FORMAT(date, format) फंक्शन डेट/टाइम मान को निर्दिष्ट फॉर्मेट स्ट्रिंग के अनुसार फॉर्मेट करता है। उदाहरण: टेबल बनाना और डेटा इन्सर्ट करना mysql> CREATE TABLE DemoTable845(AdmissionDate DATE); Query OK, 0 rows affected (1.10 sec) रिकॉर्ड्स इन्सर्ट करना mysql&g

  1. - MySQL में INT प्रकार के yyyymmdd को तिथि में बदलना

    MySQL में DATE() फ़ंक्शन के साथ INTEGER yyyymmdd को DATE में परिवर्तित करना जब तिथि INTEGER फॉर्मेट में संग्रहीत होती है (जैसे 20190108 = 2019-01-08), तो MySQL का DATE() फ़ंक्शन इसे स्वचालित रूप से तिथि में परिवर्तित कर सकता है। व्यावहारिक उदाहरण तालिका बनाना CREATE TABLE DemoTable ( Number I

  1. - MySQL में STR_TO_DATE() से तारीख फॉर्मेट बदलें

    VARCHAR तारीख-स्ट्रिंग को MySQL DATETIME में कनवर्ट करें 12/10/2019 12:34:00 जैसे स्ट्रिंग को मान्य DATETIME में बदलने के लिए STR_TO_DATE() का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable2010 ( DueDate varchar(20) ); Query OK, 0 rows affected (0.68 sec) mysql> insert int