我需要做的就是获取两个日期时间字段并将第三个字段设置为其结果。
这很容易,但我已经工作了2天,无法得到我正在寻找的结果。
$con = mysqli_connect(DBHOST, DBUSER, DBPASS, DBNAME) or die('Connection failed: ' . mysqli_connect_error());
$helpme=mysqli_query($con, "UPDATE chat_main SET Exact_Time = DATEDIFF(Start_TimeStamp, End_TimeStamp)");
mysqli_close($con);
答案 0 :(得分:2)
问题是DATEDIFF会返回两个日期之间的天数。看来,在您的实施环境中,这两个日期是在同一天。所以,由于DATEDIFF,你总是得到0。我建议使用TIMEDIFF,这将是两次的差异,而不是两个日期。
答案 1 :(得分:2)
这个问题应该得到回答。如果其他人添加了更好的答案,我将删除答案。
DATEDIFF
功能在" date"仅部分DATETIME
,并返回整数天。
要将两个DATETIME值之间的差异作为秒数,您可以使用TIMESTAMPDIFF
函数。
要获得作为TIME
值返回的差异,您可以使用TIMEDIFF
函数。
这就引出了为什么需要存储它的问题,因为可以在SELECT语句中计算此表达式。 (存储它的一个很好的理由是你想在它上面添加一个索引,而MySQL并不支持基于函数的索引。)
而且,UPDATE
语句不会返回结果集,因此您无法像从SELECT
语句那样从中获取行。