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

MySQL:सेकंड में दो टाइमस्टैम्प के बीच अंतर कैसे प्राप्त करें

आप 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 दिन) तक हो सकते हैं



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कौन सा अधिक कुशल है:एकाधिक MySQL टेबल या एक बड़ी टेबल?

  2. क्या MySQL का उपयोग करके एकाधिक कॉलम द्वारा ग्रुप करना संभव है?

  3. तालिका से डुप्लिकेट पंक्तियों को हटाना

  4. SQL का उपयोग करके MySQL डेटाबेस में टेक्स्ट कैसे खोजें और बदलें?

  5. MySQL में RBAC के लिए डेटाबेस डिज़ाइन करने के लिए मार्गदर्शिका