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

MySQL में UK दिनांक प्रारूप (DD/MM/YYYY) को MySQL DATE में परिवर्तित करना

UK दिनांक प्रारूप (दिन/महीना/वर्ष - DD/MM/YYYY) को MySQL मानक DATE प्रारूप (YYYY-MM-DD) में परिवर्तित करने के लिए STR_TO_DATE() फ़ंक्शन का उपयोग करें।

सिंटैक्स

SELECT STR_TO_DATE(date_column, '%d/%m/%Y') FROM table_name;

प्रारूप स्पेसिफायर्स

स्पेसिफायरअर्थउदाहरण
%dदिन (01-31)31
%mमहीना (01-12)12
%Y4-अंकीय वर्ष2024
/शाब्दिक स्लैश मिलानDD/MM/YYYY में स्लैश

व्यावहारिक उदाहरण

1. टेबल बनाएं और UK प्रारूप डेटा डालें

mysql> CREATE TABLE DemoTable728 (DueDate VARCHAR(100));
Query OK, 0 rows affected (0.59 sec)

mysql> INSERT INTO DemoTable728 VALUES 
('10/11/2019'), ('31/01/2016'), ('01/12/2015'), ('11/03/2018');
Query OK, 4 rows affected (0.15 sec)

2. मूल डेटा देखें

mysql> SELECT * FROM DemoTable728;
+------------+
| DueDate    |
+------------+
| 10/11/2019 |
| 31/01/2016 |
| 01/12/2015 |
| 11/03/2018 |
+------------+
4 rows in set (0.00 sec)

3. MySQL DATE में परिवर्तित करें

mysql> SELECT STR_TO_DATE(DueDate, '%d/%m/%Y') FROM DemoTable728;
+---------------------------------+
| STR_TO_DATE(DueDate, '%d/%m/%Y') |
+---------------------------------+
| 2019-11-10                      |
| 2016-01-31                      |
| 2015-12-01                      |
| 2018-03-11                      |
+---------------------------------+
4 rows in set (0.00 sec)

परिणाम विश्लेषण

UK प्रारूपMySQL DATEव्याख्या
10/11/20192019-11-1010 नवंबर 2019
31/01/20162016-01-3131 जनवरी 2016
01/12/20152015-12-011 दिसंबर 2015
11/03/20182018-03-1111 मार्च 2018

अन्य सामान्य प्रारूप

-- US प्रारूप MM/DD/YYYY
STR_TO_DATE(date_col, '%m/%d/%Y')

-- ISO प्रारूप YYYY-MM-DD (पहले से मानक)
STR_TO_DATE(date_col, '%Y-%m-%d')

-- दिनांक-समय DD/MM/YYYY HH:MM:SS
STR_TO_DATE(date_col, '%d/%m/%Y %H:%i:%s')

-- महीना नाम: 31 Jan 2024
STR_TO_DATE(date_col, '%d %b %Y')

स्थायी परिवर्तन के लिए अपडेट

ALTER TABLE DemoTable728 ADD DueDateParsed DATE;
UPDATE DemoTable728 SET DueDateParsed = STR_TO_DATE(DueDate, '%d/%m/%Y');
-- फिर DueDate हटाएं और DueDateParsed का नाम बदलें

जनरेटेड कॉलम (MySQL 5.7+)

ALTER TABLE DemoTable728 
ADD DueDateParsed DATE 
AS (STR_TO_DATE(DueDate, '%d/%m/%Y')) STORED;

त्रुटि संभाल

-- अमान्य दिनांक के लिए NULL लौटाता है (एरर नहीं)
SELECT STR_TO_DATE('32/13/2024', '%d/%m/%Y');  -- NULL

-- वैधता जांच
SELECT DueDate, 
    CASE WHEN STR_TO_DATE(DueDate, '%d/%m/%Y') IS NULL 
         THEN 'Invalid' ELSE 'Valid' END AS validity
FROM DemoTable728;
  1. - MySQL में INT प्रकार के yyyymmdd को तिथि में बदलना

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

  1. - MySQL में VARCHAR डेटा को DATE फॉर्मेट में बदलें

    STR_TO_DATE() से स्ट्रिंग को MySQL डेट फॉर्मेट में कनवर्ट करें VARCHAR कॉलम में संग्रहीत तारीख स्ट्रिंग (जैसे 31/01/2015) को MySQL DATE फॉर्मेट (YYYY-MM-DD) में बदलने के लिए STR_TO_DATE() का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1989 ( DueDate varchar(20) ); Query OK,

  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