MySQL DATEDIFF() के साथ दिनांक अंतर गणना
MySQL का DATEDIFF() फ़ंक्शन दो दिनांकों के बीच दिनों की संख्या लौटाता है: DATEDIFF(दिनांक1, दिनांक2) = दिनांक1 - दिनांक2 (दिनों में)। यह देय तिथियों, आयु गणना और समय-आधारित विश्लेषण के लिए उपयोगी है।
उदाहरण: देय तिथियों से दिनों का अंतर
mysql> CREATE TABLE DemoTable1446 (
-> DueDate DATE
-> );
Query OK, 0 rows affected (1.42 sec)
mysql> INSERT INTO DemoTable1446 VALUES
-> ('2019-01-21'), ('2019-02-01'), ('2019-09-30');
Query OK, 3 rows affected (0.69 sec)
mysql> SELECT * FROM DemoTable1446;
+------------+
| DueDate |
+------------+
| 2019-01-21 |
| 2019-02-01 |
| 2019-09-30 |
+------------+
3 rows in set (0.10 sec)
mysql> SELECT CURDATE();
+------------+
| curdate() |
+------------+
| 2019-10-01 |
+------------+
1 row in set (0.12 sec)
DATEDIFF() क्वेरी
mysql> SELECT DATEDIFF(CURDATE(), DueDate) FROM DemoTable1446;
परिणाम
+-----------------------------+ | datediff(curdate(),DueDate) | +-----------------------------+ | 253 | | 242 | | 1 | +-----------------------------+ 3 rows in set (0.00 sec)
गणना विवरण
| DueDate | CURDATE() | DATEDIFF(वर्तमान, देय) | व्याख्या |
|---|---|---|---|
| 2019-01-21 | 2019-10-01 | 253 | 253 दिन बीत चुके |
| 2019-02-01 | 2019-10-01 | 242 | 242 दिन बीत चुके |
| 2019-09-30 | 2019-10-01 | 1 | 1 दिन बीता |
महत्वपूर्ण नोट्स
- परिणाम चिन्हित: DATEDIFF(date1, date2) = date1 - date2 (यदि date1 > date2 तो सकारात्मक)
- केवल दिनांक भाग: समय घटक अनदेखा किए जाते हैं
- NULL संचालन: यदि कोई तर्क NULL है तो NULL लौटाता है
संबंधित फ़ंक्शन
- TIMESTAMPDIFF(unit, datetime1, datetime2) - विभिन्न इकाइयों (दिन, महीना, वर्ष) में अंतर
- TIMEDIFF(time1, time2) - समय अंतर (HH:MM:SS)
- DATE_ADD/DATE_SUB - दिनांक अंकगणित