[英]Difference between two Times in MySQL by PHP
我在此结构中建立了一个数据库表。
ID - INT
addDate - DateTime
sunrise - Time
sunset - Time
现在,我试图检索之间的分钟差
SELECT addDate, TIMESTAMPDIFF(MINUTE, sunrise, sunset) AS duration FROM SunData WHERE date(addDate) BETWEEN curdate() - interval 7 day and curdate() ORDER BY addDate ASC
结果我在持续时间的每一行都为NULL。
显示这些值的代码
$date = date("Y-m-d H:i:s", strtotime(str_replace('-','/',$row->addDate)));
$duration = $row->duration / 60;
echo "Dauer: " . $duration . "Stunden\n";
为什么价值越来越少? 我的查询正确吗?
您是按addDate
升序排列的。 您正在考虑now()
和addDate
之间的区别。 升序意味着addDate
不断变大,因此addDate
和now()
之间的差异不断变小。
我不确切知道您的目标是什么-但随着每条记录您越来越接近now()-这就是为什么值越来越少的原因。
您的查询不使用日出和日落字段:
SELECT addDate, TIMESTAMPDIFF(MINUTE, DATE_ADD(addDate,sunset), DATE_ADD(addDate, sunrise))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.