gpt4 book ai didi

mysql - timestampdiff 返回正确但负数的分钟数

转载 作者:行者123 更新时间:2023-11-30 22:19:39 26 4
gpt4 key购买 nike

这是一个简单的查询,用于检索用户上次在线的分钟数、小时数或天数。小时和天的计算是正确的。但是几分钟后,以下返回正确的值但为负值,例如-4分钟、-6分钟、-10分钟时应为正值。

select username, 
(CASE
when TIMESTAMPDIFF(HOUR, lastlogin, '2016-05-03 16:39:01')<1
then concat(TIMESTAMPDIFF(MINUTE, '2016-05-03 16:39:01', lastlogin), ' mins')
when TIMESTAMPDIFF(DAY, lastlogin, '2016-05-03 16:39:01')<=2
then concat(TIMESTAMPDIFF(HOUR, lastlogin, '2016-05-03 16:39:01'), ' hrs')
else concat(TIMESTAMPDIFF(DAY, lastlogin, '2016-05-03 16:39:01'), ' days')
END) as difference
from member where lastlogin<'2016-05-03 16:37:01' order by lastlogin desc limit 15;

这是产生这个错误的代码,如何让它返回正值?

concat(TIMESTAMPDIFF(MINUTE, '2016-05-03 16:39:01', lastlogin), ' mins')

最佳答案

对于您使用的每个 TIMESTAMPDIFF (*, laSTLogin, "date string")但是你使用几分钟

TIMESTAMPDIFF(MINUTE, '2016-05-03 16:39:01', lastlogin)

尝试

TIMESTAMPDIFF(MINUTE, lastlogin, '2016-05-03 16:39:01')

或者您也可以将该值乘以 -1。

关于mysql - timestampdiff 返回正确但负数的分钟数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37014111/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com