2011-09-21 2 views
1

Je fais affaire avec une date/heure de l'Australie (je suis situé aux Etats-Unis). Je suis incapable d'obtenir la chaîne suivante à insérer dans une colonne DATETIME2:SQL Server 2008 DATETIME2 Format Question

2010/19/10 04:38:12.892 

Comme vous pouvez le voir, il est formaté au format yyyy/dd/mm HH:MM:ss.MMM. Je comprends que le format normal est yyyy-mm-dd HH:MM:ss.MMM. Ce que je me demande est s'il y a un paramètre de localité sur SQL Server que je peux changer pour l'obtenir pour accepter ce format, ou si j'ai besoin de l'analyser et de le réorganiser moi-même. Pour votre information, j'ai importé une chaîne de format mm/dd/YYYY HH:MM:ss.MMM dans le champ très bien.

Répondre

0

Essayez d'émettre SET DATEFORMAT ydm; avant INSERT. Puis CONVERT(DATETIME,('2010/19/10 04:38:12.892')); fonctionne très bien.

More info

0

Vous pouvez essayer ceci:

SET DATEFORMAT YDM; 
select cast('2010/19/10 04:38:12.892' as datetime) 

Et il va analyser correctement

MISE À JOUR: I found help here.

Mais j'essayé casting à datetime2 directement et n'a pas fonctionné. Je ne comprends pas pourquoi vous pouvez passer à datetime et non datetime2. Peut-être une bonne question pour SO. :)