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

MySQL के साथ मिनटों में सम dateiff

आपकी हालत

WHERE tStart >= '2011-04-04' AND tEnd <= '2011-04-04'

बहुत कुछ सुनिश्चित करता है कि केवल वही रिकॉर्ड बचे रहेंगे जहां

tStart = tEnd = '2011-04-04'

यह बिना कहे चला जाता है कि उनके बीच DATEDIFF 0 देता है, कुल योग 0 के लिए। वास्तव में, DATEDIFF अनदेखा करता है समय भाग, इसलिए आपको TIMEDIFF + TIME_TO_SEC

. का उपयोग करने की आवश्यकता है
SELECT SUM(TIME_TO_SEC(TIMEDIFF(tEnd, tStart))/60)
FROM tasks
WHERE tStart >= '2011-04-04' AND tEnd <= adddate('2011-04-04', interval 1 day)

WHERE क्लॉज में बदलाव पर ध्यान दें। यदि आप कहने की कोशिश कर रहे हैं, आज किसी भी समय शुरू हुआ और आज किसी भी समय समाप्त हुआ, तो सीमा होनी चाहिए (पहले से ही प्रारंभ <अंत)

WHERE tStart >= '2011-04-04'
  AND tEnd < adddate('2011-04-04', interval 1 day)

आप इसे 2011-04-05 तक हार्ड कोड कर सकते हैं, लेकिन < . का उपयोग करके (इससे कम) और एक दिन को अंतिम सीमा में जोड़ना वही है जो मैं यहां दिखा रहा हूं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जॉइन-व्हेयर-ग्रुप द्वारा सही इंडेक्सिंग अस्थायी उपयोग से बचने वाले चुनिंदा प्रश्नों द्वारा; फाइलसॉर्ट का उपयोग करना

  2. वाक्पटु:कॉलिंग व्हेयर ऑन अ रिलेशन

  3. MySql के लिए एक कमजोर एस्केप फंक्शन मिला, कैसे शोषण करें?

  4. मैसकल:नवीनतम रिकॉर्ड का अद्यतन क्षेत्र

  5. MySQL ALTER TABLE हैंग हो जाता है