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

MySQL में समय अंतर निकालकर घंटे में कैसे बदलें?

TIMESTAMPDIFF() फ़ंक्शन का उपयोग

MySQL में दो DATETIME/TIMESTAMP कॉलम के बीच **घंटों में अंतर** निकालने के लिए TIMESTAMPDIFF() फ़ंक्शन का उपयोग करें।

सिंटैक्स

SELECT ABS(TIMESTAMPDIFF(HOUR, yourColumnName1, yourColumnName2)) AS HourDifference 
FROM yourTableName;
  • HOUR - इकाई (घंटा)
  • ABS() - निरपेक्ष मान (नकारात्मक रोकने के लिए)
  • इकाइयाँ: MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR

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

1. टेबल बनाएं

mysql> CREATE TABLE DifferenceInHours (
    -> StartDateTime DATETIME,
    -> EndDateTime DATETIME
    -> );
Query OK, 0 rows affected (0.59 sec)

2. डेटा डालें

mysql> INSERT INTO DifferenceInHours VALUES('2018-12-20 10:00:00', '2018-12-19 12:00:00');
mysql> INSERT INTO DifferenceInHours VALUES('2018-12-20 11:00:00', '2018-12-19 11:00:00');
mysql> INSERT INTO DifferenceInHours VALUES('2018-12-20 10:30:00', '2018-12-19 11:00:00');

3. डेटा देखें

mysql> SELECT * FROM DifferenceInHours;
+---------------------+---------------------+
| StartDateTime       | EndDateTime         |
+---------------------+---------------------+
| 2018-12-20 10:00:00 | 2018-12-19 12:00:00 |
| 2018-12-20 11:00:00 | 2018-12-19 11:00:00 |
| 2018-12-20 10:30:00 | 2018-12-19 11:00:00 |
+---------------------+---------------------+
3 rows in set (0.00 sec)

4. घंटों में अंतर निकालें

mysql> SELECT ABS(TIMESTAMPDIFF(HOUR, StartDateTime, EndDateTime)) AS Hour 
    -> FROM DifferenceInHours;
+------+
| Hour |
+------+
| 22   |
| 24   |
| 23   |
+------+
3 rows in set (0.00 sec)

विस्तृत अंतर (घंटे, मिनट, सेकंड)

SELECT 
  TIMESTAMPDIFF(HOUR, StartDateTime, EndDateTime) AS hours,
  TIMESTAMPDIFF(MINUTE, StartDateTime, EndDateTime) % 60 AS minutes,
  TIMESTAMPDIFF(SECOND, StartDateTime, EndDateTime) % 60 AS seconds
FROM DifferenceInHours;

TIMESTAMPDIFF vs TIMEDIFF

फ़ंक्शनरिटर्नउपयोग
TIMESTAMPDIFF(unit, dt1, dt2)पूर्णांक (इकाई में अंतर)घंटे/दिन/महीना गिनने के लिए
TIMEDIFF(dt1, dt2)TIME मान (HH:MM:SS)सटीक अंतर दिखाने के लिए
SELECT TIMEDIFF('2018-12-20 10:00:00', '2018-12-19 12:00:00'); -- '22:00:00'

WHERE क्लॉज में उपयोग

-- पिछले 24 घंटे के रिकॉर्ड
SELECT * FROM Events 
WHERE TIMESTAMPDIFF(HOUR, EventTime, NOW()) <= 24;

नोट: TIMESTAMPDIFF पूर्ण इकाइयाँ गिनता है (फ्लोर)। 23 घंटे 59 मिनट = 23 घंटे।

  1. - MySQL समय को HH:MM:SS से HH:MM में बदलें

    TIME_FORMAT() फंक्शन का उपयोग करके समय फॉर्मेट बदलना बदलने के लिए MySQL TIME_FORMAT() का उपयोग करें। पहले टेबल बनाएं: create table DemoTable1419 ( ArrivalTime time ); Query OK, 0 rows affected (0.78 sec) रिकॉर्ड डालें। यहां हमने समय रिकॉर्ड डाले हैं: insert into DemoTable1419 values(09:59:34); Que

  1. - MySQL में समय अंतर निकालें: NOW() और INTERVAL के साथ

    MySQL में NOW() और INTERVAL का उपयोग करके वर्तमान समय से निर्दिष्ट अवधि पहले/बाद के रिकॉर्ड ढूंढ सकते हैं। उदाहरण: पिछले 5 घंटे में आगमन समय 1. टेबल बनाएं CREATE TABLE DemoTable1570 (ArrivalTime DATETIME); 2. डेटा डालें INSERT INTO DemoTable1570 VALUES(2019-10-15 16:10:00); 3. वर्तमान समय मान

  1. - MySQL में != NULL और IS NOT NULL का अंतर

    NULL तुलना: != NULL बनाम IS NOT NULL MySQL में किसी मान की तुलना !=NULL से करने पर परिणाम NULL होता है, इसलिए !=NULL अर्थहीन है। सही तरीका IS NOT NULL है। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1970 ( Value int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTabl