Tôi đã gặp sự cố liên quan đến chuyển đổi thời gian biểu từ XML (ISO8601: yyyy-mm-ddThh: mi: ss.mmm) sang SQL Server 2005 datetime. Vấn đề là khi chuyển đổi mili giây là sai. Tôi đã thử nghiệm cả hai chuyển đổi ngầm và rõ ràng sử dụng chuyển đổi (datetime, chứa ngày, 126) từ nvarchar, và kết quả là như nhau:Sai số giây khi chuyển đổi từ XML sang SQL Server datetime
Original Result
2009-10-29T15:43:12.990 2009-10-29 15:43:12.990
2009-10-29T15:43:12.991 2009-10-29 15:43:12.990
2009-10-29T15:43:12.992 2009-10-29 15:43:12.993
2009-10-29T15:43:12.993 2009-10-29 15:43:12.993
2009-10-29T15:43:12.994 2009-10-29 15:43:12.993
2009-10-29T15:43:12.995 2009-10-29 15:43:12.997
2009-10-29T15:43:12.996 2009-10-29 15:43:12.997
2009-10-29T15:43:12.997 2009-10-29 15:43:12.997
2009-10-29T15:43:12.998 2009-10-29 15:43:12.997
2009-10-29T15:43:12.999 2009-10-29 15:43:13.000
kiểm tra không sâu rộng của tôi cho thấy rằng các chữ số cuối cùng là hoặc là 0, 3 hoặc 7. Đây có phải là một vấn đề làm tròn đơn giản không? Mili giây chính xác là quan trọng, và mất/đạt được một hoặc hai không phải là một lựa chọn.
Giải pháp là gì? –
Tôi muốn nói, không sử dụng datatyp DateTime của SQL Server. Lưu trữ giá trị trong VARCHAR thay thế. –
Cảm ơn, điều này đã được khai sáng, mặc dù hơi thất vọng. – chriscena