Функция DATEADD() добавляет или вычитает указанный интервал времени с даты.
DATEADD(datepart,number,date)
datepart (интервал) может быть час, секунда, день, год, квартал, неделя и т.д.;
число (приращение int);
date (выражение smalldatetime)
Например, если вы хотите добавить 30 дней к текущей дате, вы можете использовать что-то вроде этого
select dateadd(dd, 30, getdate())
To Substract 30 дней с текущей даты
select dateadd(dd, -30, getdate())
Ответ 4
declare @hours int = 5;
select dateadd(hour,@hours,getdate())
Ответ 5
SELECT GETDATE() + (hours / 24.00000000000000000)
По умолчанию при добавлении в GETDATE() используются дополнительные дни, но оно также преобразуется в часы/секунды/миллисекунды с использованием десятичной дроби.