【问题标题】:Getting the hour from a datetime?从日期时间获取小时?
【发布时间】:2010-06-23 17:23:47
【问题描述】:

如何从datetime 中选择小时?

我正在寻找相当于 Oracle 的 TO_CHAR( d, 'HH24' ),它会为 2010-06-23 17:22:31 返回 17


我试图找出在 StackOverflow 上使用 Data Explorer 提出 SQL 相关问题的最佳时间(最佳答案/问题比例)。我得到了它的工作,但我确信有一个更优雅的版本。

Select
  Left( Convert(VARCHAR(10), creationDate, 8 ), 2 ) As hour,
  Convert(Float, Count(*)) / Count(Distinct p.parentId) As ratio
From posts p
Join postTags pt On ( pt.postId = p.parentId )
Join tags t On ( t.id = pt.tagId )
Where p.postTypeId = 2 And t.tagName = '##TagName##'
Group By Left( Convert(VARCHAR(10), creationDate, 8 ), 2 )
Order BY hour

顺便说一句,最好的时间似乎在15:0016:00 之间——我想我问得太晚了:)

【问题讨论】:

    标签: sql sql-server datetime


    【解决方案1】:

    使用DATEPART

    select DATEPART(hour, DateTimeField) as Hour from Table
    

    【讨论】:

      【解决方案2】:

      这应该有效

      SELECT DatePart(hh, GETDATE()) 
      

      【讨论】:

        【解决方案3】:

        使用部件 ID 为“小时”的 DatePart() tsql 函数

        看看这个有很好的解释

        http://support.microsoft.com/kb/186265

        【讨论】:

        • 感谢您提供附加链接 (+1)
        • @PeterLang 链接已失效
        【解决方案4】:
        SELECT HOUR(datetimefield) AS hour
        

        HOUR() 函数应该可以完成这项工作。 来源http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_hour

        【讨论】:

        • 对不起,但这似乎不起作用。看起来您引用了 MySQL 文档。
        • 糟糕,我没有注意到你有一个完整的日期时间,虽然你只有时间。
        【解决方案5】:
        Select DatePart(hh, CreationDate) As Hour
            , Convert(Float, Count(*)) / Count(Distinct p.parentId) As Ratio
        From posts As p
            Join postTags As pt 
                On ( pt.postId = p.parentId )
            Join tags As t 
                On ( t.id = pt.tagId )
        Where p.postTypeId = 2 
            And t.tagName = '##TagName##'
        Group By DatePart(hh, CreationDate)
        

        【讨论】:

          【解决方案6】:

          datepart(hh,dateColumn) 应该为您提供任何日期时间的小时部分。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-12-09
            • 1970-01-01
            • 1970-01-01
            • 2015-06-21
            相关资源
            最近更新 更多