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

MySQL में तिथि कॉलम से पहली और अंतिम तिथि की तुलना करें

TIME_TO_SEC, MIN, MAX के साथ समय अंतर गणना

एक ही उपयोगकर्ता की पहली और अंतिम पोस्ट तिथि के बीच का समय अंतर निकालने के लिए TIME_TO_SEC, MIN, MAX, और SEC_TO_TIME का उपयोग करें।

टेबल और डेटा

mysql> CREATE TABLE DemoTable (
    UserName VARCHAR(100),
    UserPostDatetime DATETIME
);
Query OK, 0 rows affected (0.65 sec)
mysql> INSERT INTO DemoTable VALUES('Adam','2019-08-24 11:10:00');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable VALUES('Adam','2019-08-24 11:20:00');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable VALUES('Adam','2019-08-24 11:50:00');
Query OK, 1 row affected (0.13 sec)

सभी रिकॉर्ड

mysql> SELECT * FROM DemoTable;
+----------+---------------------+
| UserName | UserPostDatetime    |
+----------+---------------------+
| Adam     | 2019-08-24 11:10:00 |
| Adam     | 2019-08-24 11:20:00 |
| Adam     | 2019-08-24 11:50:00 |
+----------+---------------------+
3 rows in set (0.00 sec)

पहली और अंतिम तिथि का अंतर (सेकंड में फिर समय में)

mysql> SELECT UserName,
    SEC_TO_TIME(MAX(TIME_TO_SEC(UserPostDatetime)) - MIN(TIME_TO_SEC(UserPostDatetime))) AS t
    FROM DemoTable GROUP BY UserName;

परिणाम:

+----------+----------+
| UserName | t        |
+----------+----------+
| Adam     | 00:40:00 |
+----------+----------+
1 row in set (0.03 sec)

तर्क: TIME_TO_SEC प्रत्येक दिनांक-समय को सेकंड में बदलता है। MAX - MIN अधिकतम और न्यूनतम सेकंड का अंतर (2400 सेकंड = 40 मिनट)। SEC_TO_TIME वापस HH:MM:SS में बदलता है।

सरल विकल्प (MySQL 5.7+): TIMEDIFF(MAX(UserPostDatetime), MIN(UserPostDatetime)) सीधे समय अंतर देता है।

  1. - MySQL में तिथि रिकॉर्ड वाले कॉलम से महीने के नाम और वर्ष प्रदर्शित करना

    DATE_FORMAT() का उपयोग करके DATETIME से महीना और वर्ष निकालना पहले टेबल बनाएं: create table DemoTable1619 ( ArrivalTime datetime ); Query OK, 0 rows affected (0.45 sec) रिकॉर्ड डालें: insert into DemoTable1619 values(2019-12-31); Query OK, 1 row affected (0.17 sec) सभी रिकॉर्ड देखें: select * fro

  1. - MySQL में डेट रिकॉर्ड से महीने का पहला और अंतिम दिन कैसे प्रदर्शित करें?

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> DueDate date -> ); Query OK, 0 rows affected (0.73 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(2019-01-11); Query OK, 1 row affected (0.08 sec) mysql> insert into

  1. - MySQL में DATE_ADD से तारीख में वर्ष जोड़ें

    UPDATE और DATE_ADD() से मौजूदा तारीखों में अंतराल जोड़ें मौजूदा तारीख कॉलम में वर्ष (या अन्य अंतराल) जोड़ने के लिए UPDATE के साथ DATE_ADD() का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1984 ( ShippingDate date ); Query OK, 0 rows affected (0.00 sec) mysql> insert into