这是我昨天在这里得到帮助的一个问题的后续,但这是一个稍微不同的问题-我试图检查数据库记录的mysql时间戳是否匹配过去7天(忽略小时和秒等),但

这是日期比较:时间戳,例如2010-07-13 11:04:27

WHERE date_format( `import_date`, "%Y-%m-%d" ) =
    date_format( date_sub( now(), INTERVAL 11 DAY ), "%Y-%m-%d" ) 
有帮助吗?

解决方案

关于你的不明确的错误,你必须在查询中有2个表,都有一个 import_date 列。你需要用

WHERE date_format( `YourTableName`.`import_date`, "%Y-%m-%d" ) =
    date_format( date_sub( now(), INTERVAL 11 DAY ), "%Y-%m-%d" ) 

只是要补充一点,虽然你上面的查询将是低效的,因为它不是 鹿SARGABLE

我对MySQL不够熟悉,无法确切地知道它在做什么,但肯定你会更好地将其重写为

WHERE `YourTableName`.`import_date` = x

WHERE `YourTableName`.`import_date` between x and y

视情况而定

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top