【发布时间】:2013-04-10 22:45:03
【问题描述】:
在我的数据库中,日期以 yymmdd 格式存储。有没有办法在 MYSQL 查询中将它们与今天的日期进行比较?
这个明显不行
SELECT * FROM users WHERE created >= CURDATE();
【问题讨论】:
在我的数据库中,日期以 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();
【讨论】: