[英]set column values equals to columnB minus columnA
我希望将MySql列“时间”更新为列“ End_Time” 减去列“ Start_Time”
注意:End_Time和Start_Time为DATETIME格式。
谢谢
试试这个方法
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
将秒转换为时间。
在MySQL中使用Datediff函数
您可以使用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')
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')
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.