我有学生表,他们必须每月付款,我有<div class="slider-button"><div class="button"><a href="#" class="button__item">DOWNLOAD NOW</a></div></div>
和start_day
。
例如:
end_day
我想在付款日前3天发送短信。我不知道如何在这段时间内获取这些日期。
答案 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
为什么我不喜欢糟糕的方式(虽然看起来很简单):
joins
和where
子句中使用函数。这样可以防止索引(如果有的话)被使用,并且会在性能方面给你带来噩梦。-
是算术运算符。将+/-
与日期结合使用通常不是一个好习惯。使用用于操作日期的函数。 (subdate, date_add, date_sub
等)