web-dev-qa-db-fra.com

Convertir varchar jj/mm/aaaa en jj/mm/aaaa datetime

J'essaie de convertir une date dans une colonne varchar au format dd/mm/yyyy au format datetime dd/mm/yyyy afin de pouvoir exécuter des requêtes de plage de dates sur les données.

Jusqu'ici j'ai ce qui suit qui ne fonctionne pas

CONVERT(varchar, CAST(date_started AS datetime), 103)

J'ai aussi essayé

convert(date_started as datetime, 103)

Je dois m'assurer que la sortie est au format dd/mm/yyyy car nous sommes au Royaume-Uni et non au format mm/dd/yyyy

9
Stew

Je pense que vous êtes après ceci:

CONVERT(datetime, date_as_string, 103)

Remarquez que datetime n'a pas de format. Vous pensez à sa présentation. Pour obtenir les données de datetime dans un format approprié, vous pouvez utiliser

CONVERT(varchar, date_as_datetime, 103)
21
Hamlet Hakobyan

Je pense que cette syntaxe est plus précise:

SELECT CONVERT(CHAR(10), GETDATE(), 103)

J'ajoute SELECT et GETDATE () à des fins de test instantané :)

0
Adrian S.

Essayez ce code:

CONVERT(varchar(15), date_started, 103)
0
sk2185

Si vous souhaitez retourner au format mm/jj/aaaa, utilisez 101 au lieu de 103: CONVERT (VARCHAR (10), [MyDate], 101).

0
ElenaSQL