объединение полей даты и времени в 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) преобразовать в строку, а затем преобразовать в поле datetime? 2) используйте DateAdd и DatePart, чтобы добавить часы сначала, а затем минуты, затем секунды.....

Ответ 1

@Date + cast(@Time as datetime)

В SQL Server 2012 и я предполагаю, что SQL Server 2014 вы должны указывать дату и переменную времени в datetime.

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

Ответ 2

Попробуйте сначала наложить их на DATETIME:

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

Ответ 3

Это должно работать:

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