J'ai une table où, malheureusement, un certain nombre de dates sont stockées sous forme de chaînes.SQL Server 2008 VarChar à DateTime
J'ai un certain nombre de rapports qui les transtendent en datetimes et filtrent par eux. Cela fonctionnait bien jusqu'à aujourd'hui quand tout à coup je reçois cette erreur
"La conversion d'un type de données varchar en un type de données datetime a abouti à une valeur hors de portée."
Les dates sont toutes stockées dans le format "aaaa-mm-jj" et sont toutes valides.
Si je lance l'instruction SQL suivante
SELECT CAST('2010-06-02' AS DateTime)
Je vous attendre à obtenir « 2010-06-02 » mais à partir d'aujourd'hui je reçois « 2010-02-06 » quelque chose a changé avec le façon SQL formats dates. J'ai jeté un oeil dans les paramètres régionaux sur le serveur et tout semble être correct.
Quoi d'autre pourrait être à l'origine de cela?
@Gavin - il se peut que la langue ait été modifiée dans la base de données. http://msdn.microsoft.com/en-us/library/ms191448.aspx – codingbadger
@Gavin - quelques informations supplémentaires sur la date et l'heure dans SQL Server http://msdn.microsoft.com/fr-fr/library/ms180878 .aspx – codingbadger
@Gavin Draper Cette impression était proche de la réalité. C'est la chaîne de date sans trait d'union qui est interprétée en ignorant les paramètres de culture que vous pourriez avoir. –