이 MSS 2008 Bulk Insert DateTime 정밀 오류를 수정하는 방법은 무엇입니까?
-
11-09-2019 - |
문제
MS SQL Server 2008 대량 삽입 Datetime 열에 삽입 된 것은 초 부분의 세 번째 십진 자리에서 오류가 발생합니다. 2009-09-19 15 : 02 : 41.328은 2009-09-19 15 : 02 : 41.327 in이됩니다. 데이터베이스.
입력 텍스트 파일에 포함 된 내용은 다음과 같습니다.
1 2009-09-19 15:02:41.328
대량 삽입 후 테이블의 모습은 다음과 같습니다.
1> select * from mss_t
2> go
primary_key data_1
-------------------- -----------------------
1 2009-09-19 15:02:41.327
코드는 다음과 같습니다.
CREATE TABLE mss_t (
primary_key BIGINT NOT NULL PRIMARY KEY,
data_1 DATETIME NOT NULL )
GO
BULK INSERT mss_t
FROM 'C:\temp\sa_t.txt'
GO
해결책
오류가 아닙니다 ...
SQL Server의 DateTime은 항상 이것입니다
정확도는 .000, .003 또는 .007 초의 증분으로 반올림됩니다.
그게 :
http://msdn.microsoft.com/en-us/library/ms187819.aspx(DateTime Datatype 정보)
더 정확한 스토리지를 원한다면 DateTime2 DataType을 사용할 수 있습니다.
평범한 것보다 정확도가 더 높습니다
제휴하지 않습니다 StackOverflow