简体   繁体   English

使用 sql 将日期时间变量设置为第二天凌晨 12 点

[英]Set datetime variable to next day at 12 am using sql

I am writing a SQL job and I have to set the schedule running stamp to daily at 12:00:00 AM.我正在编写 SQL 作业,我必须将计划运行戳设置为每天凌晨 12:00:00。 The date format should be 2017-05-10 00:00:00.000 I have done something like this.日期格式应该是 2017-05-10 00:00:00.000 我做过这样的事情。 But I don't know how to set the exact date and time(which is crucial).但我不知道如何设置确切的日期和时间(这很关键)。 Please help请帮忙

 SET @ScheduledStStamp = GETDATE() + 1

Assuming you need to set the date as Tomorrow's date, use Dateadd(d,1,getdate()).假设您需要将日期设置为明天的日期,请使用 Dateadd(d,1,getdate())。

Then convert that date first to varchar(8) and then back to datetime.This will set your time in '00:00:00.000' format.然后先将该日期转换为 varchar(8),然后再转换回 datetime。这会将您的时间设置为 '00:00:00.000' 格式。

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

Assign it your variable as below将其分配给您的变量,如下所示

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

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

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

Today's date:今天的日期:

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

Tomorrow:明天:

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

Yesterday:昨天:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM