2017-03-01 3 views
0

Bon après-midi,Changement Varchar Date jj/mm/aaaa datetime aaaa-mm-jj

je besoin actuel de conver une de mes colonnes de table qui a des dates dans le varchar (10) - jj/mm/aaaa format en format de date aaaa-mm-jj

est-ce possible? Je ne l'ai pas utilisé SQL pendant un certain temps

Merci

+1

Oui, il est possible. Quels dbms utilisez-vous? La solution sera probablement spécifique au produit puisque la plupart des produits sont loin d'être conformes à ANSI SQL quand il s'agit de date/heure. – jarlh

+0

Le type de données Date n'a pas de format inhérent. Le format affiché dépend de vos paramètres locaux. – HoneyBadger

+0

Bonjour, J'utilise SQL Server Management Studio – user3565178

Répondre

0

Vous devriez, si possible, changer la structure de la table pour maintenir les valeurs de date dans une colonne de type de données de date.

Si vous ne pouvez pas modifier la structure de la table, vous pouvez utiliser CONVERT:

SELECT CONVERT(Date, VarCharColumn, 103) As DateValue 
FROM YourTable 
WHERE VarCharColumn LIKE '[0-3][0-9]/[0-1][0-9]/[0-9][0-9][0-9][0-9]' 
AND ISDATE(VarCharColumn) = 1 
+0

C'est SQL Server 2008, j'obtiens l'erreur suivante lors de l'utilisation - Conversion échouée lors de la conversion de la date et/ou l'heure de la chaîne – user3565178

+1

Cela signifie que quelque part dans votre table il y a une valeur qui ne peut pas être convertie à ce jour format. –

+0

J'ai modifié ma réponse pour inclure une clause where qui devrait permettre d'insérer une valeur qui ne correspond pas au format 'dd/mm/yyyy'. S'il vous plaît noter que la partie similaire permettra également des valeurs comme '39/17/0000 ', donc il y a aussi l'utilisation de 'isdate'. –