select 个(时间戳)生日晚 X 天的用户

select users who their (timeStamped)birthday is X days later

我将用户的生日作为 Unix 时间戳格式(整数)存储在 MySQL 数据库中。

现在我想向用户发送一封电子邮件,告知他们的生日是 30 天后。

我知道下面 SQL 代码是给 select 今天生日的用户:

SELECT * FROM members WHERE 
DATE_FORMAT(FROM_UNIXTIME(birthday),'%m-%d') = DATE_FORMAT(NOW(),'%m-%d')

但我不知道如何更改它以达到我的目的。

我用谷歌搜索了太多,在 SO 上找到了 this similar question 但是所有答案都是基于 DATE 格式的生日,而我的生日字段是基于 timeStamp time() 创建。

你有什么解决办法吗?

您可以使用 datediff 函数:

SELECT * 
FROM   members 
WHERE  DATEDIFF(FROM_UNIXTIME(birthday), NOW()) <= 30