आप TIMEDIFF()
और TIME_TO_SEC()
निम्नानुसार कार्य करता है:
SELECT TIME_TO_SEC(TIMEDIFF('2010-08-20 12:01:00', '2010-08-20 12:00:00')) diff;
+------+
| diff |
+------+
| 60 |
+------+
1 row in set (0.00 sec)
आप का भी उपयोग कर सकते हैं UNIX_TIMESTAMP()
@अंबर ने सुझाव दिया
दूसरे जवाब में:
SELECT UNIX_TIMESTAMP('2010-08-20 12:01:00') -
UNIX_TIMESTAMP('2010-08-20 12:00:00') diff;
+------+
| diff |
+------+
| 60 |
+------+
1 row in set (0.00 sec)
यदि आप TIMESTAMP
. का उपयोग कर रहे हैं डेटा प्रकार, मुझे लगता है कि UNIX_TIMESTAMP()
समाधान थोड़ा तेज़ होगा, क्योंकि TIMESTAMP
मान पहले से ही एक पूर्णांक के रूप में संग्रहीत हैं जो युग के बाद से सेकंड की संख्या का प्रतिनिधित्व करते हैं (स्रोत
) दस्तावेज़ों का हवाला देते हुए ए> :
जब UNIX_TIMESTAMP()
TIMESTAMP
. पर प्रयोग किया जाता है कॉलम, फ़ंक्शन बिना किसी अंतर्निहित "स्ट्रिंग-टू-यूनिक्स-टाइमस्टैम्प" रूपांतरण के सीधे आंतरिक टाइमस्टैम्प मान देता है।
ध्यान रखें कि TIMEDIFF()
डेटा प्रकार लौटाएं TIME
. TIME
मान '-838:59:59' से '838:59:59' (लगभग 34.96 दिन) तक हो सकते हैं