【问题标题】:Extract time and day of the week from given datetime in sql从sql中的给定日期时间提取时间和星期几
【发布时间】:2011-10-27 14:04:59
【问题描述】:

我尝试了CONVERT(TIME,sample_datetime),但我的软件无法将 TIME 识别为类型。

我如何抽取样本datetime 并从中提取一个变量中的时间和另一个变量中的星期几?

【问题讨论】:

    标签: sql sql-server tsql datetime


    【解决方案1】:

    使用DATEPART()函数:

    // returns 4
    SELECT DATEPART(day, '2010-09-04 11:22:33')
    
    // returns 7
    SELECT DATEPART(dw, '2010-09-04 11:22:33')
    
    // returns 11:22:33
    SELECT CAST(DATEPART(HOUR, '2010-09-04 11:22:33') AS VARCHAR(2)) + ':'
         + CAST(DATEPART(MINUTE, '2010-09-04 11:22:33') AS VARCHAR(2)) + ':'
         + CAST(DATEPART(SECOND, '2010-09-04 11:22:33')AS VARCHAR(2))
    

    关于 TIME 数据类型 - 从 Sql Server 2008 开始引入:

    SELECT CAST('2010-09-04 11:22:33'  as Time)
    

    【讨论】:

      【解决方案2】:

      你没有指定 sql server 版本但是

      select datepart(dw,yourdate) 应该这样做。

      【讨论】:

        【解决方案3】:

        DATEPART 或 DATENAME 与 DW 将根据您需要的格式适用于一周中的某一天

        SELECT DATEPART(DW, GETDATE())
        SELECT DATENAME(DW, GETDATE())
        

        您可以将日期时间转换为具有特定格式的 varchar 以获取时间

        SELECT CONVERT(VARCHAR, GETDATE(), 14)
        

        2008 有一个 TIME 数据类型,但听起来不像是在运行它

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-05-08
          • 1970-01-01
          • 1970-01-01
          • 2017-04-08
          • 1970-01-01
          • 2014-04-10
          • 1970-01-01
          • 2013-05-08
          相关资源
          最近更新 更多