j'ai rencontré un problème lié à la conversion datetimes de XML (ISO8601: aaaa-mm-jjThh: mi: SS.mmm) à SQL Server datetime 2005. Le problème est lorsque la conversion des millisecondes sont fausses. Je l'ai testé à la fois la conversion implicite et explicite à l'aide de convertir (datetime, MaDate, 126) de nvarchar, et le résultat est le même:Millisecondes mal lors de la conversion de XML en datetime SQL Server
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
Mes tests non étendu montre que le dernier chiffre est soit 0, 3 ou 7. Est-ce un simple problème d'arrondi? La précision en millisecondes est importante, et perdre/gagner un ou deux n'est pas une option.
Quelle est la solution alors? –
Je dirais, n'utilisez pas le datatyp DateTime de SQL Server. Stocker la valeur dans un VARCHAR à la place. –
Merci, c'était éclairant, bien que quelque peu déprimant. – chriscena