我在Microsft sql Server 2008 R2中有一个表,它来自外部源.其列如下:ID,年,日,HOUR&值,其中DAY包含一年中的某一天(从1到366),而HOUR表示一天中的小时(从0到23).
我希望创建一个新的datetime列,并使用从Year,DAY&中的数据创建的dateTime填充它.我的专栏.
sql Server 2012有DATETIMEFROMPARTS
,但SQL Server 2008 R2没有等效功能
解决方法
declare @Year int = 2003 declare @Day int = 100 declare @Hour int = 13 select dateadd(hour,@Hour,dateadd(dayofyear,@Day - 1,dateadd(year,@Year - 1900,0)))