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

MySQL में STR_TO_DATE() से गैर-मानक दिनांक स्ट्रिंग को DATE में बदलें

VARCHAR में संग्रहीत असामान्य दिनांक फॉर्मेट को DATE/DATETIME में पार्स करना

जब दिनांक कॉलम VARCHAR है और फॉर्मेट मानक YYYY-MM-DD नहीं है (जैसे 'April 04 2019'), तो STR_TO_DATE(str, format) से पार्स करें।

सिंटैक्स

SELECT STR_TO_DATE(date_string, format_pattern) FROM yourTable;

उदाहरण: 'Month DD YYYY' फॉर्मेट

CREATE TABLE convertDateDemo (AdmissionDate VARCHAR(200));
INSERT INTO convertDateDemo VALUES
('April 04 2019'), ('May 05 2018'), ('January 01 2012'), ('June 12 2016');

कन्वर्जन क्वेरी

SELECT STR_TO_DATE(AdmissionDate, '%M %e %Y') AS ConvertDate
FROM convertDateDemo;

आउटपुट

+---------------------+
| ConvertDate         |
+---------------------+
| 2019-04-04 00:00:00 |
| 2018-05-05 00:00:00 |
| 2012-01-01 00:00:00 |
| 2016-06-12 00:00:00 |
+---------------------+

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

स्पेसिफायरअर्थउदाहरण
%Mपूर्ण महीना नामJanuary, April
%eदिन (1-31, स्पेस-पैडेड)4, 04
%dदिन (01-31, शून्य-पैडेड)04
%Y4-अंकीय वर्ष2019
%y2-अंकीय वर्ष19

समय भाग सहित फॉर्मेट

STR_TO_DATE('April 04 2019 10:30:45 PM', '%M %e %Y %h:%i:%s %p')

बेस्ट प्रैक्टिस

  • दिनांक कॉलम के लिए हमेशा DATE/DATETIME/TIMESTAMP टाइप उपयोग करें — VARCHAR नहीं।
  • माइग्रेशन के दौरान एक बार STR_TO_DATE से कन्वर्ट करें, फिर ALTER TABLE ... MODIFY COLUMN ... DATE करें।
  • अमान्य दिनांक NULL लौटाते हैं (चेतावनी के साथ)।
  1. - MySQL में DATE_FORMAT() और STR_TO_DATE() के साथ डेट फॉर्मेट करना

    STR_TO_DATE और DATE_FORMAT के साथ डेट फॉर्मेट परिवर्तन स्ट्रिंग डेट को पार्स करने के लिए STR_TO_DATE() और फिर 원하는 फॉर्मेट में आउटपुट करने के लिए DATE_FORMAT() का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> CREATE TABLE DemoTable ( DueDate VARCHAR(100) ); रिकॉर्ड इन्सर्ट करें: mysql> INS

  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