जवाबों:
DatedIFF फ़ंक्शन के बारे में क्या ?
मैनुअल के पृष्ठ का हवाला देते हुए:
DatedIFF () रिटर्न expr1 - expr2 एक दिन से दूसरी तारीख तक के दिनों में एक मूल्य के रूप में व्यक्त किया गया। expr1 और expr2 तारीख या तारीख और समय के भाव हैं। गणना में केवल मूल्यों के दिनांक भागों का उपयोग किया जाता है
आपके मामले में, आप उपयोग करेंगे:
mysql> select datediff('2010-04-15', '2010-04-12');
+--------------------------------------+
| datediff('2010-04-15', '2010-04-12') |
+--------------------------------------+
| 3 |
+--------------------------------------+
1 row in set (0,00 sec)
लेकिन ध्यान दें कि तारीखें लिखी जानी चाहिए YYYY-MM-DD
, और DD-MM-YYYY
जैसे आप पोस्ट नहीं करते हैं
datediff()
विधि के लिए दूसरे तर्क से अधिक होना चाहिए , अन्यथा यह नकारात्मक मान लौटाएगा।
ध्यान दें कि यदि आप 2 तारीखों के बीच पूर्ण 24 दिन गिनना चाहते हैं , तो दिनांकित आपके लिए गलत मान लौटा सकता है।
प्रलेखन राज्यों के रूप में:
गणना में केवल मूल्यों के दिनांक भागों का उपयोग किया जाता है।
जिसके परिणामस्वरूप
select datediff('2016-04-14 11:59:00', '2016-04-13 12:00:00')
अपेक्षित 0 के बजाय 1 रिटर्न।
समाधान का उपयोग कर रहा है select timestampdiff(DAY, '2016-04-13 11:00:01', '2016-04-14 11:00:00');
(दिनांकित की तुलना में तर्कों के विपरीत क्रम पर ध्यान दें)।
कुछ उदाहरण:
select timestampdiff(DAY, '2016-04-13 11:00:01', '2016-04-14 11:00:00');
रिटर्न ०select timestampdiff(DAY, '2016-04-13 11:00:00', '2016-04-14 11:00:00');
रिटर्न 1select timestampdiff(DAY, '2016-04-13 11:00:00', now());
2016-04-13 11:00:00 से अब तक कितने पूरे 24 दिन बीत चुके हैं ।आशा है कि यह किसी की मदद करेगा, क्योंकि पहली बार में यह स्पष्ट नहीं है कि डेटफाइंड मूल्यों को क्यों अप्रत्याशित या गलत लगता है।
datediff()
और चारों ओर फ़्लिप हैं timestampdiff()
।
DATEDIFF()
फ़ंक्शन का उपयोग करें ।
प्रलेखन से उदाहरण:
SELECT DATEDIFF('2007-12-31 23:59:59','2007-12-30');
-> 1
मुझे TIMESTAMPDIFF पसंद है क्योंकि आप आसानी से यूनिट को बदल सकते हैं अगर जरूरत हो।
वर्तमान तिथि से गंतव्य तिथि के बीच के दिन प्राप्त करें
SELECT DATEDIFF('2019-04-12', CURDATE()) AS days;
उत्पादन
335
SELECT md.*, DATEDIFF(md.end_date, md.start_date) AS days FROM membership_dates md
उत्पादन ::
id entity_id start_date end_date days
1 1236 2018-01-16 00:00:00 2018-08-31 00:00:00 227
2 2876 2015-06-26 00:00:00 2019-06-30 00:00:00 1465
3 3880 1990-06-05 00:00:00 2018-07-04 00:00:00 10256
4 3882 1993-07-05 00:00:00 2018-07-04 00:00:00 9130
आशा है कि यह भविष्य में किसी की मदद करता है