【问题标题】:Getting the current date in SQL Server? [duplicate]在 SQL Server 中获取当前日期? [复制]
【发布时间】: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

我怎样才能得到这个?

【问题讨论】:

    标签: sql sql-server sql-server-2008 datetime current-time


    【解决方案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 谢谢,一定会检查一下 :)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-30
      • 2016-04-18
      • 2021-09-13
      • 2015-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多