sqlserver 作业每30分自动生成一次

来源:互联网 发布:加勒比海盗知乎 编辑:程序博客网 时间:2024/06/03 01:10
DECLARE @BeginTime AS DATETIME
DECLARE @EndTime AS DATETIME
DECLARE @Hour AS INT
DECLARE @Min AS INT

SET @Min = DATEPART(Minute, GETDATE())

IF @Min < 30
BEGIN
    SET @BeginTime = CONVERT(VARCHAR(10), GETDATE(), 120) + ' ' +  CAST(DATEPART(Hour, GETDATE()) AS VARCHAR) + ':30'
    SET @EndTime = CONVERT(VARCHAR(10), GETDATE(), 120) + ' ' +  CAST(DATEPART(Hour, GETDATE()) AS VARCHAR) + ':00'
    SET @BeginTime = DATEADD(Hour, -1, @BeginTime)
END
ELSE
BEGIN
    SET @BeginTime = CONVERT(VARCHAR(10), GETDATE(), 120) + ' ' +  CAST(DATEPART(Hour, GETDATE()) AS VARCHAR) + ':00'
    SET @EndTime = CONVERT(VARCHAR(10), GETDATE(), 120) + ' ' +  CAST(DATEPART(Hour, GETDATE()) AS VARCHAR) + ':30'
END

EXEC up_GenReport @BeginTime, @EndTime