Ho riscontrato un problema relativo alla conversione dei dati di data da XML (ISO8601: aaaa-mm-ggThh: mi: ss.mmm) a SQL Server 2005 datetime. Il problema è quando la conversione dei millisecondi è sbagliata. Ho provato sia la conversione implicita ed esplicita mediante la conversione (datetime, MyDate, 126) da nvarchar, e il risultato è lo stesso:Errore di millisecondi durante la conversione da XML a 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
mio test non estesa mostra che l'ultima cifra è 0, 3 o 7. Si tratta di un semplice problema di arrotondamento? La precisione millisecondo è importante e perdere/guadagnare uno o due non è un'opzione.
Qual è la soluzione allora? –
Direi, non utilizzare il datatyp DateTime di SQL Server. Memorizza invece il valore in un VARCHAR. –
Grazie, questo è stato illuminante, anche se un po 'deprimente. – chriscena