在 SQL Server 中获取当前日期? [复制]

Posted

技术标签:

【中文标题】在 SQL Server 中获取当前日期? [复制]【英文标题】:Getting the current date in SQL Server? [duplicate] 【发布时间】:2013-10-12 09:51:50 【问题描述】:

如何在 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

我怎样才能得到这个?

【问题讨论】:

【参考方案1】:

当您使用 SQL Server 2008 时,请使用 Martin 的答案。

如果您发现自己需要在无法访问 Date 列类型的 SQL Server 2005 中执行此操作,我会使用:

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

SQLFiddle

【讨论】:

【参考方案2】:
SELECT CAST(GETDATE() AS DATE)

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

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

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

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

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

【讨论】:

我要补充一点,如果 OP 想要获得一个 DATETIME 结果,其中 TIME 部分设置为“00:00:00.000”,那么他可以使用SELECT CAST(CAST(GETDATE() AS DATE) AS DATETIME) @KamranAhmed,在这种情况下,我想告诉你T-SQL Date and Time Function Reference。 刷新并重试。我犯了一个错误,后来将其更改为正确的链接。很抱歉。 @LightBulb 谢谢,一定会检查一下 :)

以上是关于在 SQL Server 中获取当前日期? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

sql server获取当前日期

sql server 获取指定格式的当前日期

从 SQL Server CE 获取上次复制日期/时间

从 SQL Server 中的当前日期获取当前学年

sqlserver获取当前日期条件查询

sql server 获取当前日期前三十天的日期