如何在MS-SQL Server 2008 R2中获取当前日期?
我数据库中列的格式为DATETIME
,日期按以下格式存储:
+++++++++++++ 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 |
| |
+++++++++++++++++++++++++++++++
我搜索过但无法找到以这种格式获取日期的方式(即00:00:00.00
中有与之相关的时间)。我找到了GETDATE()
函数,但它提供了当前时间以及日期,我想要的是按以下格式获取日期:CurrentDate 00:00:00.00
我怎么能得到这个?
答案 0 :(得分:112)
SELECT CAST(GETDATE() AS DATE)
返回删除时间部分的当前日期。
DATETIME
不是“以下列格式存储”。它们以二进制格式存储。
SELECT CAST(GETDATE() AS BINARY(8))
问题中的显示格式与存储无关。
格式化为特定的显示格式应由您的应用程序完成。
答案 1 :(得分:14)
当您使用SQL Server 2008时,请使用Martin的答案。
如果您发现自己需要在无法访问Date
列类型的SQL Server 2005中执行此操作,我将使用:
SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0)