A voir également:
- Erreur requête SQL fonction BETWEEN
- Erreur 0x80070643 - Accueil - Windows
- Fonction si et - Guide
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Requête sql pix - Forum Python
5 réponses
jordane45
Messages postés
38308
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
23 févr. 2021 à 18:48
23 févr. 2021 à 18:48
Bonjour,
Les dates, dans une BDD ( mysql ) doivent OBLIGATOIREMENT être stockées dans des champs DATE, DATETIME, TIMESTAMP .... et certainement pas dans des varchar.
Tu dois donc modifier ta bdd pour enregistrer les dates dans le bon type de champ et dans le bon format ( Y-m-d )
Là.. les fonctions telles que BETWEEN fonctionneront.
Les dates, dans une BDD ( mysql ) doivent OBLIGATOIREMENT être stockées dans des champs DATE, DATETIME, TIMESTAMP .... et certainement pas dans des varchar.
Tu dois donc modifier ta bdd pour enregistrer les dates dans le bon type de champ et dans le bon format ( Y-m-d )
Là.. les fonctions telles que BETWEEN fonctionneront.
jee pee
Messages postés
40470
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
23 novembre 2024
9 427
Modifié le 23 févr. 2021 à 18:51
Modifié le 23 févr. 2021 à 18:51
Bonjour,
Dans une base de données, les dates doivent être stockées en format date.
Si elles sont en format texte, c'est sur que le "01/05/2020" est situé entre "01/01/2021" et "01/06/2021".
Si c'est le cas il faudrait convertir le format texte en date dans la bdd. Ou peut être essayer dans le select, je ne suis pas utilisateur de mysql, j'ai trouvé cela, à essayer : https://www.mysqltutorial.org/mysql-str_to_date/
Dans une base de données, les dates doivent être stockées en format date.
Si elles sont en format texte, c'est sur que le "01/05/2020" est situé entre "01/01/2021" et "01/06/2021".
Si c'est le cas il faudrait convertir le format texte en date dans la bdd. Ou peut être essayer dans le select, je ne suis pas utilisateur de mysql, j'ai trouvé cela, à essayer : https://www.mysqltutorial.org/mysql-str_to_date/
Merci fort pour vos réponses super cool. J comprend pourquoi ça fait ça vous avez vraiment raison car le type de mes champs date est bien var char.
Alors pour m'enleger la tâche comment j peux gérer ça étant donné que l'application fonctionne déjà et il ya déjà pas mal de données comment je peux proceder pour modifier mes champs là de type date qui sont en varchar et le rendre type date dans mysql sans pour autant perturber les dates précédentes.
Merci de pouvoir m'aider.
Alors pour m'enleger la tâche comment j peux gérer ça étant donné que l'application fonctionne déjà et il ya déjà pas mal de données comment je peux proceder pour modifier mes champs là de type date qui sont en varchar et le rendre type date dans mysql sans pour autant perturber les dates précédentes.
Merci de pouvoir m'aider.
jee pee
Messages postés
40470
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
23 novembre 2024
9 427
23 févr. 2021 à 20:27
23 févr. 2021 à 20:27
Tu rajoutes un champ date à la table, tu l'initialises avec l'ancienne date, tu modifies l'application pour mettre à jour le nouveau champ
et entre temps tu pourrais créer une vue sur la table où le champ texte est converti en date
et entre temps tu pourrais créer une vue sur la table où le champ texte est converti en date
jee pee
Messages postés
40470
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
23 novembre 2024
9 427
>
destiny
24 févr. 2021 à 13:36
24 févr. 2021 à 13:36
Si cela fonctionnerait, mais cela laisse perdurer une anomalie de conception du logiciel et de son schéma bdd
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question