获取MySQL中两个日期相差的天数
Posted
技术标签:
【中文标题】获取MySQL中两个日期相差的天数【英文标题】:Get the number of days of difference between two dates in MySQL 【发布时间】:2015-11-26 05:38:51 【问题描述】:我正在尝试获取过去 30 天的非活动用户。我做了这个查询:
SELECT * FROM users WHERE (30 - lastlogin) > 30
但是我没有得到任何价值,我想看看过去 30 天没有登录的用户是谁。上次登录的日期和数据库里的一样:
DD/MM/YYYY
【问题讨论】:
那么,上次登录日期不是以datetime
格式存储的吗?
lastlogin 是什么数据类型 - DATETIME,数据库是 mysql?
您已指定sql-server
和mysql
标签。选择一个正确的。
这里的错误太多了。坐下来喝杯咖啡和一本像样的书或教程,然后回到我们身边
我删除了sql-server
,因为如果您使用的是mysqli
,那么您就没有使用sqlserver
。如果您使用的是 sql-server,请添加回来,但 sqlserver 与 mysql 是分开的;它不仅仅是一个使用 sql 的服务器。
【参考方案1】:
SELECT *
FROM users
WHERE DATEDIFF(NOW(), str_to_date(`lastlogin`, '%d/%m/%Y')) > 30
希望这会有所帮助。
【讨论】:
非常有帮助的答案【参考方案2】:尝试在收缩之间使用,因为MySql必须工作如下:
select *
from users
where lastlogin between date_sub(now(), interval 30 day) and now();
另请参阅:how to subtrack 30 days from the current datetime in mysql
【讨论】:
以上是关于获取MySQL中两个日期相差的天数的主要内容,如果未能解决你的问题,请参考以下文章