在其中一个表中,我有两列名为date1和date2,数据类型为datetime我是用 timediff(date2,date1) . 现在假设 date1=2018-04-05 13:10:00 date2=2018-04-05 14:40:00 那么这两个日期之间的差异将是 01:30:00 我的主要问题是如何转换这个 H:i:s 时间到数字时间格式 01:30:00=1.5 或者 01:45:00=1.75 ?
timediff(date2,date1)
date1=2018-04-05 13:10:00 date2=2018-04-05 14:40:00
01:30:00
H:i:s
01:30:00=1.5
01:45:00=1.75
xqnpmsa81#
选择小时(timediff(date1,date2))+分钟(timediff(date1,date2))/60+秒(timediff(date1,date2))/60
mi7gmzs62#
使用 time_to_sec 转换成秒。然后除以3600(每分钟60秒;每小时60分钟)到小时:
time_to_sec
select time_to_sec(timediff(timestamp '2018-04-05 14:40:00', timestamp '2018-04-05 13:10:00')) / 60 / 60;
顺便说一下,你也可以用 timestampdiff 而不是 timediff 要立即获得秒数:
timestampdiff
timediff
select timestampdiff(second, timestamp '2018-04-05 13:10:00', timestamp '2018-04-05 14:40:00') / 3600;
2条答案
按热度按时间xqnpmsa81#
选择小时(timediff(date1,date2))+分钟(timediff(date1,date2))/60+秒(timediff(date1,date2))/60
mi7gmzs62#
使用
time_to_sec
转换成秒。然后除以3600(每分钟60秒;每小时60分钟)到小时:顺便说一下,你也可以用
timestampdiff
而不是timediff
要立即获得秒数: