2016-04-04 20 views
2

私はSQLの時間分解能と関連があると思っています。 ここで私が使用した例です:ミリ秒でdatetimeをSQL Serverのテーブルに挿入する

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) 

答えて

4
https://msdn.microsoft.com/en-CA/library/ms187819.aspx

MSDNによれば、[日時]データ型の精度を解決するために

"0.000、0.003、または0.007秒単位に丸め" でありますあなたの問題は、

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 
+0

のようにDateTime2(3)を使用してください。 – Andrew

関連する問題