set column values等于columnB减去columnA

时间:2016-05-04 05:34:36

标签: mysql sql

我希望我的MySql列'时间'更新为列'End_Time'减号列'Start_Time'

注意:End_Time& Start_Time采用DATETIME格式....

由于

4 个答案:

答案 0 :(得分:3)

试试这个方法,

SELECT SEC_TO_TIME(TIMESTAMPDIFF(second,Start_Time,End_Time)) --include sec
or
SELECT SEC_TO_TIME(TIMESTAMPDIFF(minute,Start_Time,End_Time)*60) --diff in minute

eg

SELECT SEC_TO_TIME(TIMESTAMPDIFF(minute,'2016-05-04 10:00:00','2016-05-04 11:29:00')*60)

此处TIMESTAMPDIFF(minute将以分钟为单位返回差异,并将其复制为* 60以获得秒数,并使用SEC_TO_TIME将秒数转换为时间。

答案 1 :(得分:0)

在mysql中使用Datediff函数

See here for DATEDIFF

答案 2 :(得分:0)

您可以使用TIMESTAMPDIFF功能。

SELECT TIMESTAMPDIFF(minute, '2015-06-01 13:13:55', '2015-06-03 10:15:20')

SELECT TIMESTAMPDIFF(second, '2015-06-01 13:13:55', '2015-06-03 10:15:20')

SELECT TIMESTAMPDIFF(hour, '2015-06-01 13:13:55', '2015-06-03 10:15:20')

答案 3 :(得分:0)

update table 
set Time = (select 
            to_timestamp(End_Time,'yyyy-mm-dd hh24:mi:ss') - to_timestamp(Start_Time,'yyyy-mm-dd hh24:mi:ss')
            );
相关问题