如何在 SQLServer 中将小时添加到当前日期?

我试图增加当前时间的小时像

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

如何在 SQLServer 中获得提前几个小时的时间?

270130 次浏览
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(datepart,number,date)

日期部分(间隔)可以是小时、第二天、日、年、季、周等; 数字(增量 int) ; Date (表达式 smalldatetime)

例如,如果你想把30天加到当前日期,你可以使用这样的东西

 select dateadd(dd, 30, getdate())

从当前日期减去30天

select dateadd(dd, -30, getdate())
declare @hours int = 5;


select dateadd(hour,@hours,getdate())
SELECT GETDATE() + (hours / 24.00000000000000000)

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

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

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

如果使用 PostgreSQL,可以使用 interval选项向日期添加值。

select now() + interval '1 hour';