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

MySQL SELECT के साथ DATETIME फॉर्मेट को 'DD-MM-YYYY HH:MM:SS' में कैसे सेट करें?


जब भी आप टेबल से डेटाटाइम प्राप्त करते हैं, तो डेटाटाइम 'YYYY-MM-DD' फॉर्मेट देता है। यदि आप आउटपुट बदलना चाहते हैं, तो आपको MySQL से अंतर्निहित DATE_FORMAT() का उपयोग करना होगा।

सिंटैक्स इस प्रकार है:

SELECT DATE_FORMAT(yourDatetimeColumnName, yourFormat) AS anyVariableName FROM yourTableName;

उपरोक्त सिंटैक्स को समझने के लिए, पहले एक टेबल बनाते हैं। टेबल बनाने का क्वेरी:

mysql> CREATE TABLE UserDateFormat (
    -> ProductId INT,
    -> ProductDeliverDate DATETIME
    -> ); Query OK, 0 rows affected (0.93 sec)

INSERT कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें:

mysql> INSERT INTO UserDateFormat VALUES(100, DATE_ADD(NOW(), INTERVAL 1 YEAR)); Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO UserDateFormat VALUES(101, DATE_ADD(NOW(), INTERVAL -1 YEAR)); Query OK, 1 row affected (0.48 sec)
mysql> INSERT INTO UserDateFormat VALUES(102, DATE_ADD(NOW(), INTERVAL -3 YEAR)); Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO UserDateFormat VALUES(103, DATE_ADD(NOW(), INTERVAL -2 YEAR)); Query OK, 1 row affected (0.20 sec)

SELECT कमांड का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:

mysql> SELECT * FROM UserDateFormat;

आउटपुट

+-----------+---------------------+
| ProductId | ProductDeliverDate  |
+-----------+---------------------+
| 100       | 2019-12-24 13:32:47 |
| 101       | 2017-12-24 13:32:58 |
| 102       | 2015-12-24 13:33:08 |
| 103       | 2016-12-24 13:33:17 |
+-----------+---------------------+
4 rows in set (0.00 sec)

उपरोक्त डेटाटाइम फॉर्मेट MySQL डेटाटाइम से है। अब आप डेटाटाइम को तदनुसार फॉर्मेट कर सकते हैं, जिसमें 'DD-MM-YYYY' फॉर्मेट भी शामिल है।

क्वेरी इस प्रकार है:

mysql> SELECT DATE_FORMAT(ProductDeliverDate, '%d-%m-%Y %h:%i:%s') AS UserFormat FROM UserDateFormat;

निम्न आउटपुट DD-MM-YYYY फॉर्मेट में डेटा प्रदर्शित कर रहा है:

+----------------------+
| UserFormat           |
+----------------------+
| 24-12-2019 01:32:47  |
| 24-12-2017 01:32:58  |
| 24-12-2015 01:33:08  |
| 24-12-2016 01:33:17  |
+----------------------+
4 rows in set (0.00 sec)

आप उपरोक्त समय फॉर्मेट को 24 घंटे में प्राप्त कर सकते हैं। क्वेरी इस प्रकार है:

mysql> SELECT DATE_FORMAT(ProductDeliverDate, '%d-%m-%Y %H:%i:%s') AS UserFormat FROM UserDateFormat;

आउटपुट

+----------------------+
| UserFormat           |
+----------------------+
| 24-12-2019 13:32:47  |
| 24-12-2017 13:32:58  |
| 24-12-2015 13:33:08  |
| 24-12-2016 13:33:17  |
+----------------------+
4 rows in set (0.00 sec)

  1. - MySQL में सबक्वेरी और ORDER BY RAND से अंतिम 50 प्रविष्टियों में से 5 रैंडम पंक्तियाँ चुनें

    बड़ी टेबल से हाल की N पंक्तियों में से रैंडम नमूना लेने के लिए: पहले सबक्वेरी में ORDER BY id DESC LIMIT N से हाल की पंक्तियाँ लें, फिर बाहरी क्वेरी में ORDER BY RAND() LIMIT M लागू करें। टेबल बनाएं (केवल ID) mysql> CREATE TABLE DemoTable1853 ( UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY

  1. - MySQL में NOW() से वर्तमान दिनांक से पहले की तिथि वाले रिकॉर्ड चुनें

    WHERE date_column < NOW() या CURDATE() का उपयोग करके वर्तमान दिनांक/समय से पहले की तिथि वाले रिकॉर्ड चुनें। टेबल बनाएं mysql> CREATE TABLE DemoTable1877 (DueDate DATETIME); डेटा डालें mysql> INSERT INTO DemoTable1877 VALUES(2019-12-10), (2019-12-05), (2019-12-07), (2019-12-09); वर्तमान दिना

  1. - MySQL स्टोर्ड प्रोसीजर से पूरी टेबल वापस करना

    पैरामीटर लेकर पूरी टेबल डेटा लौटाने वाला स्टोर्ड प्रोसीजर टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1971 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20), StudentPassword int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTable1971(Stude