在我的数据库中,日期以 yymmdd 格式存储。有没有办法将它们与 MYSQL 查询中的今天日期进行比较?
这个明显不行
SELECT * FROM users WHERE created >= CURDATE();
最佳解决方法:使用本机 mysql 日期字段而不是自定义 varchar 格式,问题就消失了。
话虽这么说,至少您的格式是“最重要的部分优先”格式,所以
SELECT ...
WHERE created >= DATE_FORMAT(now(), '%y%m%d')
应该可以工作,但需要注意的是您不符合 y2k 标准。
尝试先像那样转换创建的列,然后进行比较
SELECT * FROM users WHERE STR_TO_DATE(created, '%Y-%m-%d') >= CURDATE();