选择生日(时间戳)晚X天的用户


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

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

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

我知道下面的SQL代码是选择今天是谁生日的用户:

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

但是我不知道如何改变它来达到我的目的。

我搜索了太多,在SO上发现了这个类似的问题,但是所有的答案都是基于日期格式化的生日,而我的生日字段是基于timeStamptime()创建的。你有什么解决办法吗?

您可以使用datediff函数:

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