gpt4 book ai didi

sql - 将带毫秒的日期时间插入 SQL Server 表问题

转载 作者:行者123 更新时间:2023-12-04 17:17:06 26 4
gpt4 key购买 nike

我遇到了一些我认为与 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

来自 SELECT 的结果在这种情况下,SQL Server Management Studio 中显示的偏差为 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

关于sql - 将带毫秒的日期时间插入 SQL Server 表问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36414315/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com