在 MySQL 中根据今天的日期检索记录
使用数据库时,通常需要根据特定日期或时间条件过滤结果。对于 MySQL,获取日期列与今天日期匹配的记录可以使用以下方法来完成:
原始查询:
SELECT users.id, DATE_FORMAT(users.signup_date, '%Y-%m-%d') FROM users WHERE users.signup_date = CURDATE()
有一个小问题:它比较将signup_date 列中存储的整个日期时间值转换为CURDATE() 的结果,该结果仅表示当前日期,不包含时间部分。此比较可能会失败。
要纠正此问题,您可以使用 DATE() 函数从signup_date 列中仅提取日期部分,确保与当前日期进行正确比较:
SELECT users.id, DATE_FORMAT(users.signup_date, '%Y-%m-%d') FROM users WHERE DATE(signup_date) = CURDATE()
通过此修改,MySQL将评估signup_date列的日期部分是否与当前日期匹配,过滤掉不符合此条件的记录。
以上是如何在MySQL中根据今天的日期检索记录?的详细内容。更多信息请关注PHP中文网其他相关文章!