繁体   English   中英

将日期时间(以毫秒为单位)插入SQL Server表问题

[英]Inserting datetime with milliseconds into SQL Server table issue

我发现了一些我认为与SQL中的时间分辨率有关的东西。 这是我用过的一个例子:

CREATE TABLE #table
(
    DTstamp DATETIME NOT NULL
)

INSERT INTO #table VALUES ('1 apr 2016 15:01:02:129')

SELECT DTstamp FROM #table

DROP TABLE #table

在这种情况下,SQL Server Management Studio中显示的SELECT结果为0.001:

2016-04-01 15:01:02.130

尝试多个值时,显示的结果通常在插入时间的0.003秒内。 有谁知道差异来自哪里?

SQL版本:

Microsoft SQL Server 2012 (SP3) (KB3072779) - 11.0.6020.0 (X64) 
Oct 20 2015 15:36:27 
Copyright (c) Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

根据MSDN https://msdn.microsoft.com/en-CA/library/ms187819.aspx,[DateTime ]数据类型的准确性是“舍入到.000,.003或.007秒的增量”

要解决您的问题,请使用DateTime2(3) ,如下所示:

CREATE TABLE #table
(
    DTstamp DATETIME2(3) NOT NULL
)
INSERT INTO #table VALUES ('1 apr 2016 15:01:02:129')
SELECT DTstamp FROM #table
DROP TABLE #table

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM