72

我正在尝试将小时数添加到当前时间,例如

-- NOT A VALID STATEMENT
-- SELECT GetDate(DATEADD (Day, 5, GETDATE()))

如何在 SQL Server 中提前数小时?

4

6 回答 6

141

DATEADD(日期部分,数字,日期)

declare @num_hours int; 
    set @num_hours = 5; 

select dateadd(HOUR, @num_hours, getdate()) as time_added, 
       getdate() as curr_date  
于 2013-08-29T18:26:38.323 回答
8
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
于 2016-09-20T05:57:20.363 回答
3

DATEADD() 函数从日期中添加或减去指定的时间间隔。

DATEADD(datepart,number,date)

datepart(interval) 可以是小时、秒、日、年、季度、周等;数字(增量 int);日期(表达式小日期时间)

例如,如果您想将 30 天添加到当前日期,您可以使用类似这样的内容

 select dateadd(dd, 30, getdate())

从当前日期减去 30 天

select dateadd(dd, -30, getdate())
于 2017-05-31T14:28:56.710 回答
2
declare @hours int = 5;

select dateadd(hour,@hours,getdate())
于 2018-10-19T09:46:56.907 回答
2
SELECT GETDATE() + (hours / 24.00000000000000000)

添加到 GETDATE() 默认为额外的天数,但它也会使用十进制转换为小时/秒/毫秒。

于 2019-09-06T16:52:11.500 回答
1

如果您使用的是mySql或类似的 SQL 引擎,那么您可以使用该DATEADD方法将小时、日期、月份、年份添加到日期中。

select dateadd(hour, 5, now());

如果您使用的是postgreSQL,则可以使用该interval选项将值添加到日期。

select now() + interval '1 hour';
于 2021-08-02T07:26:39.393 回答