我正在查询以获取 future 10 天的生日。我今天能够进行查询,但即使在引用了一些帖子之后,在接下来的 10 天内也无法进行查询。这是我为获取今天的生日而进行的查询
$count=mysql_query("SELECT u.fname, u.lname, u.profile_pic, u.uid, u.bday, f.uid,
f.friend_id, f.status FROM friend_list f, users_profile u
WHERE f.uid = '$id' AND f.status = '1'
AND u.uid = f.friend_id
AND DAY(STR_TO_DATE(u.bday, '%m-%d-%y')) = DAY(CURDATE())
AND MONTH(STR_TO_DATE(u.bday, '%m-%d-%y')) = MONTH(CURDATE())");
谁能帮我解决 10 天的查询
最佳答案
如果 u.bday 是一个日期,你可以这样做:
WHERE u.bday < NOW() + INTERVAL 10 DAY AND u.bday >= NOW()
MySQL有很好的日期比较和计算功能。更多详情请参阅手册:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
如果 u.bday 是 varchar 格式的 mm-dd-yyyy,请使用:
WHERE STR_TO_DATE(u.bday, '%m-%d-%Y') < NOW() + INTERVAL 10 DAY
AND STR_TO_DATE(u.bday, '%m-%d-%Y') >= NOW()
(如果 u.bday 不是日期,请将其设为日期。为列使用正确的数据类型会让您的生活变得更加轻松。)
关于mysql查询获取 future 10天的生日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12226062/