【发布时间】:2011-01-19 15:41:32
【问题描述】:
我有一个日期,说它叫 $date。我想要一个 mysql_query 在我的 $date 之前搜索选定的几周、几天甚至几个月。这可能吗?我的解释不是最好的,但我确实需要一个答案并且不知道如何正确地质疑它。
【问题讨论】:
我有一个日期,说它叫 $date。我想要一个 mysql_query 在我的 $date 之前搜索选定的几周、几天甚至几个月。这可能吗?我的解释不是最好的,但我确实需要一个答案并且不知道如何正确地质疑它。
【问题讨论】:
你可以使用mysql的区间函数吗?
"select * from table where `date` BETWEEN DATE_SUB(".$date.",INTERVAL 15 DAY ) AND CURDATE( )
这将返回过去 15 天的记录,如果您想要正好 15 天的记录,您可以使用 = insted of between,或者将其修改为几天、几个月等。
编辑:如果您使用 php 的 time() 记得在查询中使用 FROM_UNIXTIME($phpdate)。
【讨论】:
我在 SQL 中有一个解决方案,如果它对你有帮助,请采纳它
Day($date) 为您提供变量中的日期 Month($date) 为您提供变量中的月份 Year($date) 为您提供变量中的年份
使用简单的 where 条件,现在您可以搜索详细信息
【讨论】:
您可以使用DATE_ADD 和DATE_SUB 函数来修改日期,mysql 可以理解使用日期的 BETWEEN 子句。但是,您也可以像这样使用TIMESTAMPDIFF 函数:
"SELECT foo FROM table WHERE TIMESTAMPDIFF(DAY, dateField, '$date') < '$desired_days'"
【讨论】: