mysql / php - 选择指定两个日期范围之外的日期

时间:2016-09-05 07:50:44

标签: php mysql date

我应该使用什么查询来获取两个给定日期之外的日期列表(来自表格中保存的数据,例如.date1 date2)

例如,如果表格日期是

date1    |date2
2016-9-5 |2016-9-10
2016-9-13|2016-9-15

输出应该是date1到date2之外的日期,如:2016-9-4,2016-9-3 ......依此类推。和2016-9-11,2016-9-12 ...... 2016-9-16等等

我使用的数据类型是日期

2 个答案:

答案 0 :(得分:0)

您无法从表中获取外部日期,因为表格中没有外部日期。但你可以编写程序来获取外部日期。 从表和

中调用date1和date2
List<Date> dates = new ArrayList<Date>();
Date date = date1;
for (int i = 0; i < MAX_RESULT && !date.after(date2): i++) {
  date = DateUtils.addDays(date, 1);
  dates.add(date);
}

答案 1 :(得分:0)

你可以做这样的事情(只是一个例子,因为你没有提供表结构和期望的结果):

SELECT date FROM table where date<date1 AND date>date2

这将选择不在date1和date2之间的所有行

SELECT date FROM table WHERE date BETWEEN date1 AND date2

这将选择date1和date2之间的所有行。

如果date1<date2

,这些声明有效