यह MySql एक्सप्रेशन आपको शून्य किए गए सेकंड के साथ DATETIME मान वापस देगा।
CONVERT(DATE_FORMAT(table.column,'%Y-%m-%d-%H:%i:00'),DATETIME)
इस पर एक नज़र डालें। https://dev .mysql.com/doc/refman/8.0/hi/date-and-time-functions.html#function_date-format . तो आप इस तरह की एक क्वेरी के साथ समाप्त हो सकते हैं:
SELECT Table1.TimeSTamp1, Table1.Param1, Table2.TimeStamp2, Table2.Param2
FROM Table1
JOIN Table2 ON CONVERT(DATE_FORMAT(Table1.TimeStamp1,'%Y-%m-%d-%H:%i:00'),DATETIME)
= CONVERT(DATE_FORMAT(Table2.TimeStamp2,'%Y-%m-%d-%H:%i:00'),DATETIME)
WHERE ... conditions for the other parameters of Table1 and Table2...
लेकिन सावधान रहना। ऑटोजेनरेटेड टाइमस्टैम्प फ़्लोटिंग पॉइंट नंबरों की तरह हैं; जब उनमें से दो एक दूसरे के बराबर हो जाते हैं तो यह केवल भाग्य है। अपने टाइमस्टैम्प को मिनट में छोटा करना ठीक हो सकता है, लेकिन आप एक टाइमस्टैम्प को दूसरे से घटाकर और अंतरों (या अंतरों के पूर्ण मूल्यों) की तुलना करने से भी बेहतर हो सकते हैं।
साथ ही, यह जुड़ाव धीमा होने वाला है क्योंकि इसे प्रत्येक मान पर दूसरा-ट्रंकटिंग फ़ंक्शन चलाना है, इसलिए यह किसी भी अनुक्रमणिका का उपयोग नहीं कर सकता है।
आप TIMESTAMPDIFF()
. लेकिन सावधान रहना। यह फ़ंक्शन एक दूसरे के कुछ दिनों के भीतर टाइमस्टैम्प के लिए सेकंड के स्तर पर ही सही ढंग से काम करता है; यह शान से बहता है (जैसा कि मैंने बहुत दर्द के साथ खोजा)।
आप टाइमस्टैम्प को सम्मिलित करते समय मिनटों में छोटा करने का प्रयास कर सकते हैं। इससे आप उन्हें अनुक्रमित कर सकेंगे।