我在Microsft sql Server 2008 R2中有一个表,它来自外部源.其列如下:ID,年,日,HOUR&值,其中DAY包含一年中的某一天(从1到366),而HOUR表示一天中的小时(从0到23).
@H_502_2@我希望创建一个新的datetime列,并使用从Year,DAY&中的数据创建的dateTime填充它.我的专栏.
@H_502_2@我应该使用什么sql函数从其部分创建DateTime?
@H_502_2@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)))