将date和时间字段组合到DateTime,SQL Server 2008

好的 – 我已经问了几个人,而且要做到这一点很简单。

declare @Date date declare @Time time declare @datetime datetime select @Date = convert(Date,GetDate()) select @Time = convert(Time,GetDate()) select @Date, @Time, @Date + @Time (+ operator fails!) 

我真的必须:1)转换为一个string,然后转换为date时间字段? 2)使用DateAdd和DatePart先添加小时然后分钟,然后秒…..

 @Date + cast(@Time as datetime) 

在SQL Server 2012中,我假定您需要将SQL Server 2014的date和时间variables都转换为datetime。

 cast(@Date as datetime) + cast(@Time as datetime) 

首先尝试将它们投射到DATETIME:

 SELECT CAST(@Date AS DATETIME) + CAST(@Time AS DATETIME) 

这应该工作:

 select @Date, @Time, CAST(@Date AS datetime) + CAST(@Time AS datetime)