MySQL获取昨天的内容

时间:2013-04-17 16:27:20

标签: mysql

我想让用户可以在个人资料页面上看到他们昨天的图片。

我这是对的吗?

SELECT * FROM pictures WHERE userid = '$userid' AND DATE(pictureuploadeddate) = DATE_SUB(CURDATE(), INTERVAL 25 HOUR) ORDER BY uploaded DESC

但仍然没有奏效。谢谢你的帮助。

3 个答案:

答案 0 :(得分:1)

试试这个,

DATE(pictureuploadeddate) = CURDATE() - INTERVAL 1 DAY

利用索引

pictureuploadeddate >= CURDATE() - INTERVAL 1 DAY AND pictureuploadeddate < CURDATE()

答案 1 :(得分:1)

采取以下条件应该没问题。

DATE_FORMAT(DATE(pictureuploadeddate), '%m-%d-%Y') = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%m-%d-%Y')

答案 2 :(得分:1)

为什么使用DATE(pictureuploadeddate)不是pictureuploadeddate日期格式列?

我的下面的解决方案假设`pictureuploadeddate'是一个日期类型列。您可以像下面这样进行比较:

SELECT * FROM pictures WHERE userid = '$userid' AND pictureuploadeddate = ADDDATE(CURDATE(), -1) ORDER BY uploaded DESC

ADDDATE(CURDATE(), -1)通过减去今天的1天返回昨天的日期。