Datetime

Fermé
sam - 30 sept. 2019 à 12:53
 sam - 30 sept. 2019 à 16:11
Bonjour...
Ce message s'affiche lorsque je valide les données saisies
"The conversion of a varchar data type to a datetime data type resulted in an out-of-range value"
Pouvez vous m'indiquer pourquoi et comment résoudre ce problème .
Merci d'avance.

4 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
30 sept. 2019 à 13:17
Bonjour,

Cela signifie que le serveur SQL considère que la date donnée n'est pas valide. Par exemple, un 31 février déclenchera ce genre d'erreur.
Mais attention, cela peut aussi avoir lieu pour une date qui semble valide, par exemple 25/06/2019, si le serveur s'attend à avoir une date au format états-unien : il va inverser le mois et le jour...

Pour pallier cela, le mieux est de spécifier toi-même le format de date attendu plutôt que de laisser le moteur trouver tout seul. Et pour ce faire, cela dépendra de ton SGBD (SQL Server, MySQL, Oracle...).

Xavier
0
Merci Xavier pour votre réponse ...elle est claire .
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
30 sept. 2019 à 13:19
Bonjour
Sur quel sgbd travailles tu ?
Quel code provoque ton erreur ?
Entres tu bien une date dabs le champ qui pose problème ? ( une date au format valide Y-m-d bien évidemment...? )
0
Merci pour votre réponse ...Notre SGBD c'est sqlsever...et le format de la date c'est jj/mm/aaaa .
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
30 sept. 2019 à 15:37
Alors sous SQLServer, tu peux forcer le format comme suit :
CONVERT (DateTime, '25/06/2019', 103)

(Le 103 est issu de la documentation : https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-2017#date-and-time-styles )
0
Je vais essayer cette solution merci encore une fois .
0