在SQL Server中获取当前date?

我如何获取MS-SQL Server 2008 R2中的当前date?

我的数据库中列的格式是DATETIME ,date以以下格式存储:

 +++++++++++++ Vrdate ++++++++++ | | | 2012-11-18 00:00:00.000 | | 2012-11-19 00:00:00.000 | | 2013-11-18 00:00:00.000 | | 2012-12-01 00:00:00.000 | | 2010-10-09 00:00:00.000 | | 2012-11-11 00:00:00.000 | | | +++++++++++++++++++++++++++++++ 

我search,但无法find以这种格式获得date的方式(即在00:00:00.00有相关的时间)。 我发现GETDATE()函数,但提供了当前时间以及date以及我想要的是以下面的格式获取date: CurrentDate 00:00:00.00

我怎样才能得到这个?

 SELECT CAST(GETDATE() AS DATE) 

返回删除时间部分的当前date。

DATETIME不以“以下格式存储”。 它们以二进制格式存储。

 SELECT CAST(GETDATE() AS BINARY(8)) 

问题中的显示格式与存储无关。

格式化为特定的显示格式应该由您的应用程序完成。

正如你使用SQL Server 2008,马丁的答案。

如果您发现自己需要在SQL Server 2005中无法访问“ Date列types的情况下执行此操作,则可以使用:

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

SQLFiddle