Нуждаете се от STR_TO_DATE()
за да преобразувате низа в дата. Помислете за:
select str_to_date( 'Wed, 18 Oct 2017 10:11:03 GMT', '%a, %d %b %Y %T GMT' )
Добив:
18.10.2017 10:11:03
След като низовете ви бъдат преобразувани в дати, можете да използвате timestampdiff()
за да изчислите разликата между тях и върнете резултата обратно към време с помощта на sec_to_time()
:
изберете човек, 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_taskfrom mytable
<предварителен код>| човек | ИД на задачата | време_на_задача || ------ | ------ | ------------ || Алфа | 1 | 00:00:33 || Алфа | 2 | 00:00:12 || Бета | 1 | 00:00:46 || Алфа | 3 | 00:01:10 || Гама | 1 | 03:03:42 || Бета | 2 | 00:00:23 |