【发布时间】:2013-12-17 07:18:20
【问题描述】:
我知道,令人困惑的标题。让我解释一下:
我有一份包含多个步骤的工作。
作业每 15 分钟运行一次。
作业中的一个步骤是运行检查(存储过程)以查看在该存储过程中创建的临时表中是否有记录。
如果有记录,我想发邮件。
电子邮件只能在上午 7 点到下午 4 点之间发送,并且每 30 分钟重复一次。
现在,我知道如何检查某事是否存在以及是否在正确的时间范围内:
IF (EXISTS ( SELECT 1
FROM @NewItems
WHERE DATEPART(HOUR, GETDATE()) BETWEEN 7 AND 16 ))
BEGIN
-- send email
END
所以我的问题是,我该如何进行上述检查并且是下一个半小时?
例如,我想在上午 7 点、上午 7 点 30 分、上午 8 点、上午 8 点 30 分等到 16:00(或下午 4 点)发送这封电子邮件。
我该怎么做呢?
【问题讨论】: