我正在使用 MySQL,我想从列中获取前一周的所有日期,比如 xyz
,它是日期类型,格式为 YYYY-MM-DD
。但是,当我使用
select
*
from
tablename
where
xyz > date_sub(curdate(),INTERVAL 1 week);
我得到的日期不在过去 1 周内。我得到一个月后的日期和一些随机日期。
最佳答案
您的查询正在提取所有 xyz
(我假设是您的日期列)比一周前更新的记录。这实际上可能是 future 的记录。如果您想专门查看上周的内容,则需要使用 between
关键字。
select
*
from
tablename
where
xyz between date_sub(curdate(), INTERVAL 1 week) and curdate()
关于mysql - 如何在mysql中从一种日期格式转换为另一种格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44962596/