mysql日期间隔,php日期间隔

时间:2018-01-15 09:30:41

标签: php mysql sql dateinterval

我有学生表,他们必须每月付款,我有<div class="slider-button"><div class="button"><a href="#" class="button__item">DOWNLOAD NOW</a></div></div>start_day

例如:

end_day

我想在付款日前3天发送短信。我不知道如何在这段时间内获取这些日期。

1 个答案:

答案 0 :(得分:1)

select user_id from schema.table where end_day between
subdate(current_date, interval 3 day) and subdate(current_date, interval 2 day);

执行此操作的不良方法是:where date(end_day) = current_date-3

为什么我不喜欢糟糕的方式(虽然看起来很简单):

  1. 避免在joinswhere子句中使用函数。这样可以防止索引(如果有的话)被使用,并且会在性能方面给你带来噩梦。
  2. 仅使用具有预期数据类型的正确运算符。 -是算术运算符。将+/-与日期结合使用通常不是一个好习惯。使用用于操作日期的函数。 (subdate, date_add, date_sub等)