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

MySQL में "01 August 2019" प्रारूप में तिथियों को कैसे क्रमबद्ध करें?

STR_TO_DATE() के साथ कस्टम तिथि प्रारूप क्रमबद्ध करना

जब तिथियाँ VARCHAR कॉलम में गैर-मानक प्रारूप में संग्रहीत होती हैं (जैसे "01 August 2019"), तो उन्हें सही ढंग से क्रमबद्ध करने के लिए STR_TO_DATE() फ़ंक्शन का उपयोग करें।

उदाहरण: मिश्रित तिथि प्रारूपों को क्रमबद्ध करना

पहले एक टेबल बनाते हैं जिसमें तिथियाँ टेक्स्ट के रूप में संग्रहीत हैं:

mysql> CREATE TABLE DemoTable1435 (
    -> DueDate VARCHAR(60)
    -> );
Query OK, 0 rows affected (1.08 sec)

mysql> INSERT INTO DemoTable1435 VALUES
    -> ('01 August 2019'), ('01 Feb 2018'),
    -> ('31 Jan 2017'), ('01 March 2019');
Query OK, 4 rows affected (0.34 sec)

mysql> SELECT * FROM DemoTable1435;
+----------------+
| DueDate        |
+----------------+
| 01 August 2019 |
| 01 Feb 2018    |
| 31 Jan 2017    |
| 01 March 2019  |
+----------------+
4 rows in set (0.00 sec)

STR_TO_DATE() के साथ ORDER BY क्वेरी

%d %M %Y प्रारूप निर्दिष्टकर्ता का उपयोग करें:

mysql> SELECT * FROM DemoTable1435
    -> ORDER BY STR_TO_DATE(DueDate, '%d %M %Y');

क्रमबद्ध परिणाम

+----------------+
| DueDate        |
+----------------+
| 31 Jan 2017    |
| 01 Feb 2018    |
| 01 March 2019  |
| 01 August 2019 |
+----------------+
4 rows in set (0.04 sec)

प्रारूप निर्दिष्टकर्ता समझाया गया

निर्दिष्टकर्ताअर्थउदाहरण
%dमहीने का दिन (01-31)01, 31
%Mपूर्ण महीना नामJanuary, August
%Y4-अंकीय वर्ष2019, 2017

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

  • हमेशा तिथियों के लिए DATE या DATETIME डेटा प्रकार का उपयोग करें
  • स्ट्रिंग तिथियों के लिए, क्रमबद्ध करने से पहले STR_TO_DATE() के साथ परिवर्तित करें
  • बड़े डेटासेट के लिए, परिवर्तित तिथियों पर एक इंडेक्स बनाने पर विचार करें
  1. - MySQL में CREATE TEMPORARY TABLE से अस्थायी टेबल बनाएं

    MySQL में CREATE TEMPORARY TABLE स्टेटमेंट सत्र-विशिष्ट (session-specific) अस्थायी टेबल बनाता है। यह कनेक्शन बंद होने पर स्वचालित रूप से ड्रॉप हो जाती है। सिंटैक्स CREATE TEMPORARY TABLE टेबल_नाम ( कॉलम_नाम डेटा_टाइप ); उदाहरण: दिनांक/समय मान संग्रहीत करना 1. अस्थायी टेबल बनाएं ); 2. विभिन्

  1. - MySQL में TIMESTAMPDIFF से दो दिनांकों के बीच महीनों का अंतर निकालें

    MySQL का TIMESTAMPDIFF() फ़ंक्शन दो दिनांक/समय मानों के बीच निर्दिष्ट इकाई में अंतर की गणना करता है। सिंटैक्स TIMESTAMPDIFF(इकाई, दिनांक1, दिनांक2) इकाइयां: MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR उदाहरण: महीनों में अंतर 1. टेबल बनाएं ); 2. डेटा डालें INSERT INTO De

  1. - MySQL में DATE_FORMAT से टेबल कॉलम के दिनांक प्रारूप बदलें

    DATE_FORMAT(date, format) फ़ंक्शन का उपयोग करके DATETIME/DATE कॉलम को वांछित स्ट्रिंग प्रारूप में प्रदर्शित करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1906 (DueTime DATETIME); डेटा डालें mysql> INSERT INTO DemoTable1906 VALUES(NOW()), (CURDATE()), (2017-10-11), (2015-01-12), (2018-04-25);