sql语句从数据库中获取恰好过去5天的数据
Posted
技术标签:
【中文标题】sql语句从数据库中获取恰好过去5天的数据【英文标题】:sql statement to fetch data from the database of exactly 5 days past 【发布时间】:2017-11-05 23:33:31 【问题描述】:我正在处理某事,我需要从数据库中查询距现在正好 5 天的记录,但它没有按预期工作。
我已经尝试了一些东西,但它只是获取从 5 天到现在的记录。我想要的只是过去(或之前)5天的记录。这是我的代码,请告诉我我做得不对。
SELECT * FROM ts_user
WHERE user_registerdate >= DATE_SUB(CURDATE(), INTERVAL 5 day) AND user_registerdate <= CURDATE()
ORDER BY user_registerdate DESC;
【问题讨论】:
user_registerdate是什么数据类型? 你试过用=代替>=吗? user_registerdate 是数据库中日期字段的名称 什么不起作用? 我猜问题是他只想要 5 天前和那天的记录,而不是从那时到现在的所有记录。我现在无法访问 mysql,所以我自己无法为您提供有效的解决方案。 【参考方案1】:这正好是 5 天前,
SELECT *, DATE_FORMAT(user_registerdate, '%m/%d/%Y')
FROM ts_user
WHERE DATE(user_registerdate) = CURDATE() - INTERVAL 5 DAY;
【讨论】:
感谢 mariam,这真的很有帮助【参考方案2】:如果数据库中的 user_resgisterdate 字段是 DateTime 试试这个
SELECT * FROM ts_user
WHERE Datediff(day,user_registerdate,getdate()) <= 5;
希望对你有帮助
【讨论】:
谢谢,现在可以使用了。我真的很感谢大家的努力。再次感谢。你们是最棒的以上是关于sql语句从数据库中获取恰好过去5天的数据的主要内容,如果未能解决你的问题,请参考以下文章
在 Bigquery - 如何从 Firebase 事件表中查询昨天的数据和过去 7 天的数据