我正在查询下一个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不是日期,请设置为一个日期。为列使用正确的数据类型将使您的生活更加轻松。)

10-05 19:56