如何 select 最近 7 天的结果来自 mysql(使用自定义数据字段)?

How to select last 7 days results from mysql (with custom data field)?

我需要 select 来自 mysql 的过去 7 天的数据。我有一个名为 'date' 的字段,其值采用 mm.dd.yy 格式。 所以我试图找到特殊的 mysql 请求来做到这一点,但它不适用于我的领域,我猜是因为日期格式错误。 我如何从 php(使用一些变量获取 mysql 条目)或使用自定义 select 查询来做到这一点?

首先阅读您的 table 并更改日期格式

$new_date_format = date('Ymd',mktime(0,0,0,substr($date,0,2),substr($date,3,2),substr($date,6,2)));

之后可以进行比较

您可以将 STR_TO_DATE() to convert your idiosyncratic 日期格式用于标准 DATE 值。像这样的表达式就可以了

 STR_TO_DATE('07.17.97', '%m.%d.%y')

那你可以说

WHERE STR_TO_DATE(`date`, '%m.%d.%y') >= CURDATE() - INTERVAL 7 DAY

在您的查询中过滤具有 date 个值的项目,从一周前开始。

但是,如果要过滤的行很多,性能会很差:这种 WHERE 子句不是 sargable