我试图从n个SQL服务器获取事件的日期时间,并使用日期在另一个表中查找数据。
当我从第一个表中选择datetime变量时,它显示为......
2017-01-01 20:41:23.000
将数据解析为通过
声明的临时表CREATE TABLE #RunData1
(
[MyDateTime] Datetime,
[Tag] nvarchar(50),
[Hours] float,
[id] INT IDENTITY(1,1),
[searched] bit
)
我将此值存储在日期时间变量@startPoint
(DECLARE @startPoint dateTime
)中并使用SELECT @startPoint = MyDateTime FROM #RunData1 WHERE id = @currentid_inner
但是当我尝试打印@startpoint
时,它显示为Jan 1 2017 8:41PM
?
我一开始认为这可能是打印命令中的一些格式化。但是当我尝试从此减去10秒(SET @startpoint = DateAdd(SS,-10,@startPoint)
)并在此新时间之后使用它来查找数据时。我从2017-01-01 20:41:00.000
之后得到的数据不是2017-01-01 20:41:13.000
(数据采样时间是0.5秒)
为什么日期格式从2017-01-01 20:41:23.000
更改为Jan 1 2017 8:41PM
会导致我失去秒数?
答案 0 :(得分:0)
您不会丢失秒数 - 这就是日期显示的方式。
在显示datetime
值时 - 让应用程序处理 - 而不是数据库。