MySQL中如何筛选明日预订客户?实现自动邮件提醒功能
修改SQL筛选明日预订客户的方案
MySQL中表示明日的方式
在MySQL里,要获取明日的日期,有两种常用且等效的写法:
CURDATE() + INTERVAL 1 DAY:直接给今日日期叠加1天DATE_ADD(CURDATE(), INTERVAL 1 DAY):通过内置函数完成日期加法
修改后的完整代码
把原SQL中筛选今日日期的条件替换成明日日期表达式即可,修改后的代码如下:
Set rs = Server.CreateObject("ADODB.Recordset") strSQL = "SELECT * FROM enquiries where emailaddress > '' and bookingdate = CURDATE() + INTERVAL 1 DAY and statusbar <> 'calledtoconfirm' and lang_code = 'EN' " 'strSQL = "SELECT * FROM enquiries where emailaddress = '' " rs.Open strSQL, adoCon
如果习惯用函数写法,也可以改成:
strSQL = "SELECT * FROM enquiries where emailaddress > '' and bookingdate = DATE_ADD(CURDATE(), INTERVAL 1 DAY) and statusbar <> 'calledtoconfirm' and lang_code = 'EN' "
生产环境测试建议
因为直接执行会给数百位客户发送邮件,务必先做测试验证:
- 临时添加邮箱过滤,比如只查询你的测试邮箱:
SELECT * FROM enquiries where emailaddress = 'your-test-email@xxx.com' and bookingdate = CURDATE() + INTERVAL 1 DAY and statusbar <> 'calledtoconfirm' and lang_code = 'EN' - 或者添加
LIMIT 1限制结果数量,确认逻辑无误后再移除测试条件,避免误发邮件。
内容的提问来源于stack exchange,提问作者Danny Thompson
相关产品推荐
相关产品推荐

