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

在T-SQL(sqlserver)中,您可以简单地执行:

getDate()-1

函数以子字符串(天)作为标准。

或者您可以在不增加难度的情况下尝试一下?

 CAST(GETDATE()-1 as date )

在我的版本中,选中的答案仍然有时间(00:00:00)。要只获取DATE,请使用:选择转换(日期,日期添加(天,-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))

请不要关注任何日期,因为此日期将于2020年5月1日发布,将打印为2020年5日00时。所以请使用下面的这个来修复

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

最新更新