繁体   English   中英

设置列值等于columnB减去columnA

[英]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函数

看到这里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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM