>我需要从mysql中选择过去7天的数据。我有名为"日期"的字段,其值采用 mm.dd.yy 格式。所以我试图找到特殊的 mysql 请求来做到这一点,但它不适用于我的字段,我认为日期格式错误。我如何从 php(使用一些变量来获取 mysql 条目)或使用自定义选择查询来做到这一点?
您可以使用
STR_TO_DATE()
将特殊日期格式转换为标准DATE
值。像这样的表达式就可以了
STR_TO_DATE('07.17.97', '%m.%d.%y')
那你可以说
WHERE STR_TO_DATE(`date`, '%m.%d.%y') >= CURDATE() - INTERVAL 7 DAY
以筛选具有从一周前开始date
值的项目。
但是,如果你有很多行要过滤,你的性能会很差:这种 WHERE 子句是不可优化的。
首先读取表格并更改日期格式
$new_date_format = date('Ymd',mktime(0,0,0,substr($date,0,2),substr($date,3,2),substr($date,6,2)));
之后,您可以进行比较