Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में दो तिथियों के बीच अंतर की गणना कैसे करें

समस्या:

आपके पास दिनांक प्रकार के दो कॉलम हैं और आप उनके बीच के अंतर की गणना करना चाहते हैं।

उदाहरण:

travel तालिका, तीन कॉलम हैं:id , departure , और arrival . आप arrival . के बीच अंतर की गणना करना चाहेंगे और departure , या arrival . से दिनों की संख्या समावेशी रूप से प्रस्थान करने के लिए।

travel तालिका इस तरह दिखती है:

id प्रस्थान आगमन
1 2018-03-25 2018-04-05
2 2019-09-12 2019-09-23
3 2018-07-14 2018-07-14
4 2018-01-05 2018-01-08

समाधान:

SELECT
  id,
  departure,
  arrival,
  DATEDIFF(arrival, departure) AS date_difference,
  DATEDIFF(arrival, departure) + 1 AS days_inclusive
FROM travel;

नतीजा यह है:

<वें शैली="पृष्ठभूमि-रंग:#cecece">दिनांक_अंतर
id प्रस्थान आगमन days_inclusive
1 2018-03-25 2018-04-05 11 12
2 2019-09-12 2019-09-23 11 12
3 2018-07-14 2018-07-14 0 1
4 2018-01-05 2018-01-08 3 4

चर्चा:

MySQL में तिथियों के बीच अंतर की गणना करने के लिए, DATEDIFF(enddate, startdate) . का उपयोग करें समारोह। startdate . के बीच का अंतर और enddate दिनों में व्यक्त किया जाता है। इस मामले में, enddate arrivalहै और startdate है departure

अधिकांश मामलों में, हालांकि, आप वास्तव में पहली तारीख से दूसरी तारीख तक सहित दिनों की संख्या चाहते हैं। . आपको अंतर में 1 दिन जोड़ना होगा:DATEDIFF(arrival, departure) + 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLAlchemy का उपयोग करके पांडा के साथ MySQL डेटाबेस को लिखना, to_sql

  2. MySQL में JSON डेटा कैसे खोजें?

  3. Neo4j - Cypher . का उपयोग करके संबंध बनाएं

  4. MySQL में दिए गए कैरेक्टर के लिए ASCII कोड कैसे खोजें

  5. डेटाबेस-अवेयर लोड बैलेंसिंग:HAProxy से ProxySQL में माइग्रेट कैसे करें