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
    

    DBFiddldeのデモ

    | 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. Django +Postgres+大規模な時系列

    2. 空のオブジェクトのjson列をクエリする方法は?

    3. 区切り文字に基づくT-SQL分割文字列

    4. PgBackRestをインストールする方法