【问题标题】:sql statement to fetch data from the database of exactly 5 days pastsql语句从数据库中获取恰好过去5天的数据
【发布时间】: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,所以我自己无法为您提供有效的解决方案。

标签: php mysql sql mysqli phpmyadmin


【解决方案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;

希望对你有帮助

【讨论】:

  • 谢谢,现在可以使用了。我真的很感谢大家的努力。再次感谢。你们是最棒的
猜你喜欢
  • 1970-01-01
  • 2015-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多