我正在使用SQL Server 2014。
我尝试做的是为旧的日期时间添加新的时间。
我甚至不确定它是否可行,但我想我会问专家。
所以这些是我的专栏:
CurrentDate | Hours | NewDate
2017-03-10 08:00:00 | 25 | ??
2017-01-01 10:00:00 | 27 | ??
我想要的是将小时数转换为天数和小时数,以便将其添加到CurrentDate以创建NewDate。
所以NewDate将是:2017-03-11 09:00:00因为25小时相当于1天1小时。第二个NewDate将是:2017-01-02 01:00:00因为27相当于1天3小时。
我实际上并不认为这是可能的,而且我可能不得不将已经转换的时间分为几天和几天,但如果是这样的话,我怎么写25小时?它会是00-00-01 01:00:00吗?并且27小时是00-00-01 03:00:00然后只是将这些值添加到CurrentDate?
谢谢!随意告诉我之前已经问过这个问题(我看过,但是找不到任何与此类似的独特之处,或者我看起来不够努力)或者是否可以做到这一点。< / p>
答案 0 :(得分:2)
您只需使用DATEADD
,无需先将小时数转换为天数:
SELECT CurrentDate,
Hours,
DATEADD(HOUR,Hours,CurrentDate) NewDate
FROM dbo.YourTable;
答案 1 :(得分:0)
你可以试试这个:
select DATEADD(HOUR,25,'2017-03-10 08:00:00') -- 2017-03-11 09:00:00.000
select DATEADD(HOUR,27,'2017-01-01 10:00:00') -- 2017-01-02 13:00:00.000