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

MySQL में DATEDIFF() का उपयोग करके दो तिथियों के बीच दिनों की संख्या गिनना

MySQL में दो तिथियों के बीच दिनों का अंतर निकालने के लिए DATEDIFF() फ़ंक्शन का उपयोग करें। यह प्रारंभ और अंत तिथि के बीच के दिनों की संख्या लौटाता है।

सिंटैक्स

DATEDIFF(date1, date2)  -- date1 - date2 (दिनों में अंतर)

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

1. टेबल बनाएं और डेटा डालें

mysql> CREATE TABLE DemoTable730 (
    StartDate DATE,
    EndDate DATE
);
Query OK, 0 rows affected (0.45 sec)

mysql> INSERT INTO DemoTable730 VALUES 
('2019-01-21', '2019-07-21'),
('2018-10-11', '2018-12-31'),
('2016-01-01', '2016-12-31');
Query OK, 3 rows affected (0.15 sec)

2. सभी रिकॉर्ड्स देखें

mysql> SELECT * FROM DemoTable730;
+------------+------------+
| StartDate  | EndDate    |
+------------+------------+
| 2019-01-21 | 2019-07-21 |
| 2018-10-11 | 2018-12-31 |
| 2016-01-01 | 2016-12-31 |
+------------+------------+
3 rows in set (0.00 sec)

3. दिनों का अंतर गिनें (निरपेक्ष मान)

mysql> SELECT ABS(DATEDIFF(StartDate, EndDate)) AS Days FROM DemoTable730;
+------+
| Days |
+------+
| 181  |
| 81   |
| 365  |
+------+
3 rows in set (0.00 sec)

DATEDIFF व्यवहार

ABS() के साथ निरपेक्ष अंतर

SELECT ABS(DATEDIFF(StartDate, EndDate)) AS Days FROM DemoTable730;

संबंधित फ़ंक्शन्स

date1date2DATEDIFF(date1, date2)नोट
2019-07-212019-01-21181धनात्मक (date1 बाद में)
2019-01-212019-07-21-181ऋणात्मक (date1 पहले)
2019-01-212019-01-210समान तिथि
फ़ंक्शनविवरणउदाहरण
DATEDIFF(d1, d2)दिनों में अंतरDATEDIFF('2024-12-31', '2024-01-01') = 365
TIMESTAMPDIFF(unit, d1, d2)निर्दिष्ट इकाई में अंतरTIMESTAMPDIFF(MONTH, d1, d2)
TIMEDIFF(t1, t2)समय अंतर (HH:MM:SS)TIMEDIFF('12:00', '10:30') = 01:30:00
PERIOD_DIFF(p1, p2)महीनों में अंतर (YYYYMM)PERIOD_DIFF(202412, 202401) = 11

TIMESTAMPDIFF उदाहरण

SELECT 
    TIMESTAMPDIFF(DAY, StartDate, EndDate) AS days,
    TIMESTAMPDIFF(MONTH, StartDate, EndDate) AS months,
    TIMESTAMPDIFF(YEAR, StartDate, EndDate) AS years
FROM DemoTable730;

व्यावसायिक दिन (सप्ताहांत छोड़कर)

MySQL में अंतर्निहित व्यावसायिक दिन फ़ंक्शन नहीं है। एप्लिकेशन लेयर पर गणना करें या कैलेंडर टेबल का उपयोग करें।

  1. - MySQL में तिथि के अनुसार परिणाम समूहित करना और डुप्लिकेट मानों की गिनती दिखाना

    तिथि और LIKE फ़िल्टर के साथ समूह गिनती DATE() फ़ंक्शन से केवल तिथि भाग निकालकर GROUP BY करें, और LIKE से पैटर्न मिलान करें। तालिका और डेटा (202, 2013-03-18 04:10:01); क्वेरी: 202 से शुरू होने वाले कोड की तिथिवार गिनती GROUP BY DATE(ArrivalDate); परिणाम +-------------------+-------------------

  1. - MySQL क्वेरी दिनांक रिकॉर्ड को सप्ताह के दिन के साथ घटाएं और रिकॉर्ड के साथ सप्ताह का दिन प्रदर्शित करें

    इसके लिए आप DATE_FORMAT() का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1820 ( AdmissionDate varchar(20) ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1820 values(20/10/2019); Qu

  1. - शुरुआत और अंत की तारीख की रेंज से कुल व्यावसायिक दिनों की गणना करने के लिए पायथन फ़ंक्शन लिखें

    मान लीजिए आपके पास तारीखों की एक date_range है और कुल व्यावसायिक दिनों का परिणाम है: Dates are: DatetimeIndex([2020-01-01, 2020-01-02, 2020-01-03, 2020-01-06, 2020-01-07, 2020-01-08, 2020-01-09, 2020-01-10, 2020-01-13, 2020-01-14, 2020-01-15, 2020