我使用的是server 2008 R2,(位于美国)
我有一个SQL作业可以向客户发送电子邮件通知。根据他们的生日,我从数据库获得了如下数据:
SELECT CustomerId,
CustomerName,
Email,
Dob,
FROM Customers
WHERE DAY(Dob) = DAY(GETDATE())
AND MONTH(Dob) = MONTH(GETDATE())工作安排在上午9点30分。
这里的问题是,由于服务器位于美国,作业在上午9:30运行,所以它每天发送两次相同的电子邮件。
我如何处理这种情况呢?有办法处理TimeZone吗?请帮我这个忙。
发布于 2018-11-24 06:35:53
你可以在下面试试
SELECT CustomerId,
CustomerName,
Email,
Dob,
FROM Customers
WHERE DAY(Dob) = DAY(cast(switchoffset(todatetimeoffset(GETDATE(), '-06:00'), '+05:30') as datetime))
AND MONTH(Dob) = MONTH(cast(switchoffset(todatetimeoffset(GETDATE(), '-06:00'), '+05:30') as datetime))https://stackoverflow.com/questions/53455671
复制相似问题