我有两张table:
图片:图片id,图片日期
picture\u user:pictured\u id,user\u id(发布图片的用户)
我想得到的用户谁发布了不到一年的图片。我得到了三列( pid
, userid
, p_date
)但有些行 p_date
超过1年的也被退回。
SELECT p_picuser.pid,p_date,userid from p_pictures, p_picuser
where p_pictures.pid=p_picuser.pid
AND (datediff(STR_TO_DATE(p_date, '%Y-%m-%d'),CURDATE())<365)
1条答案
按热度按时间tzcvj98z1#
mysql文档声明datediff是date1-date2。https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_datediff
如果你将现在的日期与过去的日期进行比较(试图找出某物的年代),你需要从中减去这些日期
curdate()
--而不是相反。参见文档中的这些示例: