MySQL中的时间戳和日期比较-模糊错误
-
14-09-2020 - |
题
这是我昨天在这里得到帮助的一个问题的后续,但这是一个稍微不同的问题-我试图检查数据库记录的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
视情况而定
不隶属于 StackOverflow