在 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)
返回删除时间部分的当前日期。
DATETIME
s 不“以下列格式存储”。它们以二进制格式存储。
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 中获取当前日期? [复制]的主要内容,如果未能解决你的问题,请参考以下文章