我有以下查询,我需要实现一个Mailer,需要发送给今天生日的所有客户,这种情况每天发生,现在我需要实现的只是选择使用Postgres sql的Birthday客户端查询而不是在
PHP中过滤它们.
存储在数据库中的日期格式是YYYY-MM-DD,例如. 1984年3月13日
我所拥有的是以下查询
SELECT cd.firstname,cd.surname,SUBSTRING(cd.birthdate,6),cd.email FROM client_contacts AS cd JOIN clients AS c ON c.id = cd.client_id WHERE SUBSTRING(birthdate,6) = '07-20';
您可以将where子句设置为:
WHERE DATE_PART('day',birthdate) = date_part('day',CURRENT_DATE) AND DATE_PART('month',birthdate) = date_part('month',CURRENT_DATE)