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

MySQL स्ट्रिंग टू DATE / TIME या TIMESTAMP

आपको चाहिए STR_TO_DATE() स्ट्रिंग को एक तिथि में बदलने के लिए। विचार करें:

select str_to_date(
      'Wed, 18   Oct   2017 10:11:03 GMT',
      '%a, %d %b %Y %T GMT'
 )

पैदावार:

2017-10-18 10:11:03

एक बार जब आप तार तारीखों में बदल जाते हैं, तो आप timestampdiff() . का उपयोग कर सकते हैं उनके बीच अंतर की गणना करने के लिए, और sec_to_time() का उपयोग करके परिणाम को वापस एक समय में बदल दें :

select
    person,
    taskID,
    sec_to_time(
            timestampdiff(
            second, 
            str_to_date(Start_time, '%a, %d %b %Y %T GMT'),
            str_to_date(End_time, '%a, %d %b %Y %T GMT')
        )
    ) time_on_task
from mytable

डीबी फिडलडे पर डेमो :

| person | taskID | time_on_task |
| ------ | ------ | ------------ |
| Alpha  | 1      | 00:00:33     |
| Alpha  | 2      | 00:00:12     |
| Beta   | 1      | 00:00:46     |
| Alpha  | 3      | 00:01:10     |
| Gamma  | 1      | 03:03:42     |
| Beta   | 2      | 00:00:23     |



  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 - अंदर SET चर के साथ दृश्य नहीं बना सकता

  3. mysql NULL मान जहां क्लॉज में है

  4. पायथन 'फ्लोट 64' को एक MySQL प्रकार में परिवर्तित नहीं किया जा सकता है लेकिन मैन्युअल क्वेरी में कोई समस्या नहीं है

  5. MySQL त्रुटि:संग्रहीत फ़ंक्शन/ट्रिगर में तालिका को अपडेट नहीं कर सकता क्योंकि यह पहले से ही कथन द्वारा उपयोग किया जाता है जिसने इस संग्रहीत फ़ंक्शन/ट्रिगर को बुलाया