Datetime

sam -  
 sam -
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 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
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
sam
 
Merci Xavier pour votre réponse ...elle est claire .
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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
sam
 
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 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
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
sam
 
Je vais essayer cette solution merci encore une fois .
0