SQL 服务器印度时区日期

SQL server Indian Timezone Date

我正在使用 SQL 服务器 2008 R2,(位于美国位置)

我有一项 SQL 工作要向客户发送电子邮件通知。根据他们的生日,我从数据库中获取数据如下:

SELECT  CustomerId,
        CustomerName,
        Email,
        Dob,
FROM    Customers
WHERE   DAY(Dob) = DAY(GETDATE())
        AND MONTH(Dob) = MONTH(GETDATE())

作业安排在 9:30 AM IST。

这里的问题是,由于服务器位于美国,作业 运行 上午 9:30 IST,它每天发送两次相同的电子邮件。

我该如何处理这种情况?有什么办法可以处理 TimeZone 吗?请帮助我。

你可以试试下面的

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