4 réponses
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
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
sam
Merci Xavier pour votre réponse ...elle est claire .
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...? )
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...? )
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 )
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 )