尝试获取日期时间字段中的日期不在当前月份和年份内的记录。
我将发送电子邮件的当前日期添加到nl_last_sent字段。
该脚本每天运行(通过电子邮件每月发送一封电子邮件),我不想将电子邮件重新发送给已经收到该电子邮件的收件人。
由于人们可以在一个月中的任何时间选择加入,所以我仍然希望他们在当月可以收到它,这就是为什么我每天都要运行它。
因此,如果nl_last_sent的值为2019-03-07 8:55:10,则他们已经收到了2019年3月的新闻通讯。
当我再次运行时,我不想包含该记录。
使用2019-03 ..中的任何日期进行测试不会选择该记录。正确。
我测试了以下代码,将nl_last_sent更改为2019-01-01 11:15:56,该代码应选择记录,因为字段中的年份和月份与当前年份和月份不匹配,但没有错误且没有记录返回。
... WHERE
( YEAR(nl_last_sent) != YEAR(CURRENT_DATE())
AND MONTH(nl_last_sent) != MONTH(CURRENT_DATE()) )
有什么建议吗?
答案 0 :(得分:0)
@Raymond Nijland,下次我将提供MCVE,谢谢!
使用@Raymond Nijland的修改后的代码版本,我得以纠正。感谢您的协助。
最终工作代码:
BETWEEN ( LAST_DAY(CURRENT_DATE() ) + INTERVAL 1 DAY ) - INTERVAL 1 MONTH AND
LAST_DAY(CURRENT_DATE() )