admin

使用MSSQL GetDate()时如何获取日期?

sql

DELETE from Table WHERE Date > GETDATE();

GETDATE()包含时间。而不是得到

2011-01-26 14:58:21.637

我怎样才能得到:

2011-01-26 00:00:00.000

阅读 197

收藏
2021-05-10

共1个答案

admin

对SQL Server的偏见

概括

DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)

SQL Server 2008具有date类型。所以就用

CAST(GETDATE() AS DATE)

编辑:要添加一天,请与“零”之前的一天进行比较

DATEADD(day, DATEDIFF(day, -1, GETDATE()), 0)

从网络猕猴桃:

一个不涉及2个功能的替代方法是(+1可以在方括号内或方括号内)。

DATEDIFF(DAY, 0, GETDATE() +1)

DateDiff 返回一个数字,但出于所有目的,无论您打算使用该表达式如何,它都将作为日期,除了将其直接转换为VARCHAR之外-
在这种情况下,您将直接在GETDATE()上使用CONVERT方法,例如

convert(varchar, GETDATE() +1, 102)
2021-05-10