繁体   English   中英

mysql日期间隔,php日期间隔

[英]mysql date interval, php date interval

我有学生桌,他们必须每月付款,我有start_dayend_day

例如:

start_day = "2018-01-01";

end_day = "2018-03-30";

我想在发薪日前3天发送短信。 我不知道如何在此间隔内获取这些日期。

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等)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM