gpt4 book ai didi

mysql - 如何在MySql中获取日期差异

转载 作者:行者123 更新时间:2023-11-29 23:15:33 24 4
gpt4 key购买 nike

在 mysql 中,我有一个包含列的用户表

ban_start_date [日期时间]

ban_days [整数]

这意味着用户将被禁止再 ban_days 天使用 ban_start_date。如何选择用户表,但添加一个新列,说明他们被禁止的时间还剩多少天?

我知道我需要检查 NOW() 是否在 ban_start_dateban_start_date+ban_days 之间,如果是,请获取差异。类似这样的事情。

谢谢

最佳答案

请尝试:

SELECT 
DATEDIFF(DATE_ADD(banned_users.ban_start_date , INTERVAL banned_users.ban_days DAY), DATE(CURDATE())) AS ban_days_left
FROM
users as banned_users
WHERE
DATE_ADD(banned_users.ban_start_date , INTERVAL banned_users.ban_days DAY) > DATE(CURDATE());

查询仅获取执行时被禁止的用户,然后将 ban_days 添加到 ban_start_date 临时生成 ban-enddate (DATE_ADD(banned_users.ban_start_date, INTERVALbanned_users.ban_days DAY))。之后,使用 DATEDIFF 计算 ban-enndate 与今天日期之间的天数,这实际上应该导致 ban_days_left.

关于mysql - 如何在MySql中获取日期差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27850873/

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