好的 - 我问了几个人,必须有一个简单的方法来做到这一点......
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)转换为字符串,然后转换为datetime字段? 2)使用DateAdd和DatePart添加小时,然后是分钟,然后是秒......
答案 0 :(得分:65)
@Date + cast(@Time as datetime)
在SQL Server 2012中,我假设SQL Server 2014,您需要将日期和时间变量都转换为日期时间。
cast(@Date as datetime) + cast(@Time as datetime)
答案 1 :(得分:10)
首先尝试将它们都投射到DATETIME:
SELECT CAST(@Date AS DATETIME) + CAST(@Time AS DATETIME)
答案 2 :(得分:3)
这应该有效:
select @Date, @Time, CAST(@Date AS datetime) + CAST(@Time AS datetime)