我有一个有趣的给你。我有一个包含日期列 free_from 和 free_until 的数据库。我需要找到的是从现在到今天 1 个月之间免费的天数。例如,如果当前日期是 2013/01/15,并且列如下:
free_from | free_until
2013/01/12| 2013/01/17
2013/01/22| 2013/01/26
2013/01/29| 2013/02/04
2013/02/09| 2013/02/11
2013/02/14| 2013/02/17
2013/02/19| 2013/02/30
答案是 16,因为 2 + 4 + 6 + 2 + 2 + 0 = 16
- 第一行仅从 15 号而不是 12 号开始计数,因为 15 号是当前日期。
- 最后一行被打折,因为没有一个日期在当前日期的一个月内。
- 必须将日期计算在内,因为
free_from
日期包括在内,日期不包括在内free_until
。
我假设DATEDIFF()
将在某个地方使用,但我不能,为了我的生活,解决这个问题。
谢谢你的时间!
编辑:这将进入 PHP mysql_query,因此可能会限制您对 MYSQL 可以做什么。