【问题标题】:Extracting yyyy/MM/dd formated date from datetime datatype in T-SQL从 T-SQL 中的 datetime 数据类型中提取 yyyy/MM/dd 格式的日期
【发布时间】:2010-07-22 05:20:09
【问题描述】:

我在 sql 数据库表中的文章表中的 postdate 列中有我的日期值。它存储所有日期和时间。我只想得到日期部分。即从 2010/07/01 12:45:12 我希望得到 2010/07/01 在我看来

【问题讨论】:

    标签: sql tsql date view


    【解决方案1】:

    使用 SQL Server 2008,您可以将值转换为 DATE。对于以前的版本,您可以使用 DATEADD 的技巧:

    DECLARE @d DATETIME;
    
    SELECT @d = '2010-07-22 12:45:22';
    
    -- all versions of sql server
    SELECT DATEADD(DAY, DATEDIFF(DAY, 0, @d), 0);
    -- sql server 2008
    SELECT CAST(@d AS DATE);
    

    问候 弗洛尔

    【讨论】:

    • 太棒了,我以前从不知道那个 DATEADD 技巧!我总是将 char(10) 转换为/从 char(10) 转换为“伪造它”。
    • 谢谢:-)!我在 SCC 上学到了这一点。从那以后,我已经用了一百次了。
    【解决方案2】:

    你可以使用两者中的任何一个

    select substring(getdate(),0,10)
    

    使用

     select convert(varchar,getdate(),111)
    

    see this for more formats

    【讨论】:

      【解决方案3】:
      SELECT convert(varchar, getdate(), 111)
      

      How to format datetime & date in Sql Server 2005

      【讨论】:

        猜你喜欢
        • 2023-03-27
        • 1970-01-01
        • 2016-01-02
        • 1970-01-01
        • 2014-05-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-04
        相关资源
        最近更新 更多