如何从datetime
我正在寻找相当于Oracle的TO_CHAR( d, 'HH24' )
,它会为17
返回2010-06-23 17:22:31
。
我试图找出使用Data Explorer在StackOverflow上询问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:00
和16:00
之间 - 猜猜我要求太晚了:)
答案 0 :(得分:4)
使用DATEPART
select DATEPART(hour, DateTimeField) as Hour from Table
答案 1 :(得分:1)
答案 2 :(得分:1)
这应该有效
SELECT DatePart(hh, GETDATE())
答案 3 :(得分:0)
datepart(hh,dateColumn)
应该为您提供任何日期时间的小时组件。
答案 4 :(得分:0)
SELECT HOUR(datetimefield) AS hour
HOUR()函数应该完成这项工作。 来源http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_hour。
答案 5 :(得分:0)
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)