GetDate ( ), - 1 天

Getdate(), -1 day

我不明白为什么,但不知何故这个查询不起作用。 我想采用系统日期 -1 天,其中系统日期比当前日期小 1 天。

WHERE
    a.SEND_Date >= dateadd(DD,-1,(CAST(getdate() as date) as datetime)) 

CAST 取决于您需要哪种日期类型。 如果您只需要比较日期,您只能使用:

dateadd(DD, -1, cast(getdate() as date))

如果您需要与日期时间进行比较,您可以使用:

dateadd(DD,-1,getdate())

那会给你这样的日期时间:2016-01-11 10:43:57.443

无论如何在我的版本中,检查的答案仍然有时间(00:00:00)。 要仅获取 DATE,请使用: Select 转换(日期,日期添加(天,-1,getdate()))

两者权重相同,0.001秒

只缺少一个 CAST:

dateadd(DD,-1,(CAST(getdate() as date) as datetime))

两次 "as"(作为日期 + 作为日期时间)但只有一次 "CAST" => 有问题 - 应该是:

dateadd(DD,-1,CAST(CAST(getdate() as date) as datetime))

在 T-SQL (sqlserver) 中你可以简单地做:

getDate()-1

函数按标准减去(天)。

或者你可以尝试这个而不增加难度?

 CAST(GETDATE()-1 as date )

请不要关注任何内容,因为此日期将于 01/05/2020 发布,打印为 00/05/2020。所以请使用下面的这个来修复

select CONVERT(varchar, DATEADD(DAY, -1, convert(Nvarchar, GETDATE(),112)),112)