DECLARE @Date datetime2(7) = GETDATE()
,@Time time(7) = '02:02:00.0000007'
SELECT @Date [DateTime2(7)], @Time [Time(7)], DATEADD(MS,DATEPART(MS,@Time),@Date) [new_DateTime2(7)]
输出
DateTime2(7) Time(7) new_DateTime2(7)
2014-01-20 17:13:02.1970000 02:02:00.0000007 2014-01-20 17:13:02.1970000
期望输出
DateTime2(7) Time(7) new_DateTime2(7)
2014-01-20 17:13:02.1970000 02:02:00.0000007 2014-01-20 19:15:02.1970007
如何将MS从时间(7)添加到datetime2(7)?上述查询似乎没有按预期工作。
谢谢
答案 0 :(得分:1)
您要添加的是NanoSecond而不是MicroSecond,因此您需要将代码从MS
更改为NS
以获得所需的结果。
DECLARE @Date datetime2(7) = GETDATE()
,@Time time(7) = '02:02:00.0000007'
SELECT @Date [DateTime2(7)], @Time [Time(7)], DATEADD(ns,DATEPART(ns,@Time),@Date) [new_DateTime2(7)]
SELECT DATEPART(MS,@Time) --Result: 0
SELECT DATEPART(NS,@Time) --Result: 700