使用sql将datetime变量设置为第二天上午12点

时间:2017-05-17 05:57:39

标签: sql datetime stored-procedures job-scheduling sql-job

我正在编写一个SQL作业,我必须在每天凌晨12:00:00将计划运行标记设置为每天。日期格式应为2017-05-10 00:00:00.000 我做过这样的事情。但我不知道如何设置确切的日期和时间(这是至关重要的)。请帮忙

 SET @ScheduledStStamp = GETDATE() + 1

3 个答案:

答案 0 :(得分:0)

假设您需要将日期设置为明天的日期,请使用Dateadd(d,1,getdate())。

然后将该日期首先转换为varchar(8),然后再转换回datetime.This将以'00:00:00.000'格式设置您的时间。

 select convert(datetime,convert(varchar(8),Dateadd(d,1,getdate()),112))

将您的变量分配如下

   Declare @ScheduledStStamp datetime
   SET @ScheduledStStamp =convert(datetime,convert(varchar(8),Dateadd(d,1,getdate()),112))
   select @ScheduledStStamp

答案 1 :(得分:0)

我使用下面的代码来获得所需的结果

SET @ScheduledStStamp = CONVERT(DATETIME, CONVERT(DATE, GETDATE() + 1))

答案 2 :(得分:0)

今天的日期:

SELECT DATEADD(d,0,DATEDIFF(d,0,GETDATE()))

明天:

SELECT DATEADD(d,1,DATEDIFF(d,0,GETDATE()))

昨天:

SELECT DATEADD(d,-1,DATEDIFF(d,0,GETDATE()))