91 votes

Comment convertir une chaîne en date T-SQL?

Par exemple, j'ai une chaîne comme celle-ci '24 .04.2012 ', comment puis-je convertir en type de date dans T-SQL?

143voto

Chris Roberts Points 7543
 CONVERT (datetime, '24.04.2012', 104)
 

Devrait faire l'affaire. Voir ici pour plus d'informations: http://msdn.microsoft.com/en-us/library/ms187928.aspx

27voto

Formats de date Microsoft SQL

 CONVERT(DateTime, DateField, 104)
 

9voto

Eric Points 39

Bien que l'CONVERTIR œuvres chose, vous ne devriez pas l'utiliser. Vous devriez vous demander pourquoi vous êtes l'analyse de chaîne de valeurs dans SQL-Server. Si c'est un emploi où vous êtes la correction manuelle des données que vous n'obtiendrez pas que les données d'un autre temps, c'est ok, mais si une application est en utilisant cela, vous devez changer quelque chose. Le meilleur moyen serait d'utiliser le "date" type de données. Si c'est la saisie de l'utilisateur, ce qui est encore pire. Ensuite, vous devez tout d'abord effectuer quelques vérifications dans le client. Si vous avez vraiment envie de passer à la chaîne de valeurs sur lequel SQL-Serveur attend une date, vous pouvez toujours utiliser le format ISO ('YYYYMMDD') et il doit convertir automatiquement.

5voto

Seann Alexander Points 118

Vous pouvez utiliser: SELECT CONVERT (datetime, '24 .04.2012 ', 103) AS Date

Référence: http://msdn.microsoft.com/en-us/library/ms187928.aspx

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X