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

MySQL में दो टाइमस्टैम्प के बीच दिनों का अंतर कैसे निकालें?


MySQL में DATEDIFF() फंक्शन का उपयोग करके दो टाइमस्टैम्प या तारीखों के बीच दिनों का अंतर प्राप्त करें।

सिंटैक्स

SELECT DATEDIFF(date1, date2) AS difference_in_days FROM yourTableName;

नोट: DATEDIFF(date1, date2) = date1 - date2 (date1 बाद की तारीख हो तो धनात्मक)

उदाहरण

टेबल बनाना

mysql> create table DifferenceTimestamp (
-> IssueTime timestamp,
->> DueTime timestamp
-> ); Query OK, 0 rows affected (0.66 sec)

रिकॉर्ड डालना

mysql> insert into DifferenceTimestamp values(now(), date_add(now(), interval -30 day));
mysql> insert into DifferenceTimestamp values(now(), date_add(now(), interval -24 day));
mysql> insert into DifferenceTimestamp values(now(), date_add(now(), interval -5 day));

सभी रिकॉर्ड देखना

mysql> select *from DifferenceTimestamp;
+---------------------+---------------------+
| IssueTime           | DueTime             |
+---------------------+---------------------+
| 2018-12-07 17:48:28 | 2018-11-07 17:48:28 |
| 2018-12-07 17:48:40 | 2018-11-13 17:48:40 |
| 2018-12-07 17:48:46 | 2018-12-02 17:48:46 |
+---------------------+---------------------+

दिनों का अंतर निकालना

mysql> SELECT DATEDIFF(IssueTime, DueTime) AS DifferenceInTimestampDays 
from DifferenceTimestamp;
+---------------------------+
| DifferenceInTimestampDays |
+---------------------------+
| 30                        |
| 24                        |
| 5                         |
+---------------------------+

महत्वपूर्ण बिंदु

  • DATEDIFF केवल तारीख भाग मानता है, समय भाग नजरअंदाज करता है
  • परिणाम पूर्णांक होता है (दशमलव नहीं)
  • यदि पहला तर्क पहले है, तो परिणाम ऋणात्मक होगा
  • NULL इनपुट पर परिणाम NULL होगा

समय भाग सहित सटीक अंतर (सेकंड/मिनट/घंटे)

-- सेकंड में अंतर
SELECT TIMESTAMPDIFF(SECOND, DueTime, IssueTime) AS diff_seconds FROM DifferenceTimestamp;

-- मिनट में
SELECT TIMESTAMPDIFF(MINUTE, DueTime, IssueTime) AS diff_minutes FROM DifferenceTimestamp;

-- घंटे में
SELECT TIMESTAMPDIFF(HOUR, DueTime, IssueTime) AS diff_hours FROM DifferenceTimestamp;

-- दिन में (DATEDIFF के समान लेकिन TIMESTAMPDIFF सिंटैक्स)
SELECT TIMESTAMPDIFF(DAY, DueTime, IssueTime) AS diff_days FROM DifferenceTimestamp;

TIMESTAMPDIFF इकाइयाँ

MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR

उपयोग के मामले

  • देय तारीख से विलंब दिन गिनना
  • उपयोगकर्ता खाता आयु
  • सत्र अवधि
  • रिपोर्टिंग में समय-श्रृंखला विश्लेषण

  1. - MySQL में TIMESTAMPDIFF का उपयोग करके दो DATETIME मानों के बीच अंतर ज्ञात करें

    MySQL में दो DATETIME मानों के बीच अंतर की गणना MySQL में TIMESTAMPDIFF() फ़ंक्शन दो डेटाइम मानों के बीच निर्दिष्ट इकाई (सेकंड, मिनट, घंटे, दिन, आदि) में अंतर लौटाता है। DATEDIFF() के विपरीत जो केवल दिन लौटाता है, TIMESTAMPDIFF लचीला है। टेबल बनाना ); Query OK, 0 rows affected (0.86 sec) डेटा डाल

  1. - MySQL में GREATEST/LEAST से दो कॉलम में जोड़ी की घटनाएं गिनें

    दो कॉलम में मानों की जोड़ी (क्रम की परवाह किए बिना) की घटनाएं गिनने के लिए GREATEST() और LEAST() फ़ंक्शन के साथ GROUP BY का उपयोग करें। उदाहरण: नाम जोड़े की घटनाएं गिनना 1. टेबल बनाएं ); 2. डेटा डालें INSERT INTO DemoTable VALUES(Mike, Robert); -- उल्टा क्रम 3. डेटा देखें SELECT * FROM DemoT

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

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