2016-09-07 68 views
0

在SQL Server中,我希望从日期时间值中获得一年中的小时(从1到8760)。任何想法如何实现这一目标?非常感谢!SQL Server:从日期时间获得一年中的小时

例(日期时间是格式为YYYY-MM-DD-HH-MM-SS)

Input: datetime => Output: hour_of_year 
---------------------------------------- 
2015-01-01 01:00:00 => 1 
2015-01-01 02:00:00 => 2 
2015-01-02 01:00:00 => 25 
2015-02-15 08:00:00 => 1088 
2015-12-31 22:00:00 => 8758 
2015-12-31 23:00:00 => 8759 

回答

2

您可以使用DATEPART

SELECT DATEPART(DAYOFYEAR,GETDATE())*24 + DATEPART(HOUR,GETDATE()) 
+0

非常感谢,Lamak! – Simon

0
SELECT DATEDIFF (hour, DATEADD(yy, DATEDIFF(yy,0,GETDATE()), 0), GETDATE()) 
相关问题