Ответ 1
DATEADD (datepart, number, date)
declare @num_hours int;
set @num_hours = 5;
select dateadd(HOUR, @num_hours, getdate()) as time_added,
getdate() as curr_date
Я пытаюсь добавить часы к текущему времени, например
-- NOT A VALID STATEMENT
-- SELECT GetDate(DATEADD (Day, 5, GETDATE()))
Как я могу получить время на часы в SQL Server?
DATEADD (datepart, number, date)
declare @num_hours int;
set @num_hours = 5;
select dateadd(HOUR, @num_hours, getdate()) as time_added,
getdate() as curr_date
Select JoiningDate ,Dateadd (day , 30 , JoiningDate)
from Emp
Select JoiningDate ,DateAdd (month , 10 , JoiningDate)
from Emp
Select JoiningDate ,DateAdd (year , 10 , JoiningDate )
from Emp
Select DateAdd(Hour, 10 , JoiningDate )
from emp
Select dateadd (hour , 10 , getdate()), getdate()
Select dateadd (hour , 10 , joiningDate)
from Emp
Select DateAdd (Second , 120 , JoiningDate ) , JoiningDate
From EMP
Функция DATEADD() добавляет или вычитает указанный интервал времени с даты.
DATEADD(datepart,number,date)
datepart (интервал) может быть час, секунда, день, год, квартал, неделя и т.д.; число (приращение int); date (выражение smalldatetime)
Например, если вы хотите добавить 30 дней к текущей дате, вы можете использовать что-то вроде этого
select dateadd(dd, 30, getdate())
To Substract 30 дней с текущей даты
select dateadd(dd, -30, getdate())
declare @hours int = 5;
select dateadd(hour,@hours,getdate())
SELECT GETDATE() + (hours / 24.00000000000000000)
По умолчанию при добавлении в GETDATE() используются дополнительные дни, но оно также преобразуется в часы/секунды/миллисекунды с использованием десятичной дроби.