A voir également:
- Erreur requête SQL fonction BETWEEN
- Erreur requette SQL : Manque le pont virgule ✓ - Forum - Access
- Erreur requête SQL ✓ - Forum - Webmaster
- Erreur requete sql ou code php ✓ - Forum - Bases de données
- {MySQL} Erreur requete .sql ✓ - Forum - MySQL
- Erreur requete SQL FULL JOIN ✓ - Forum - Programmation
5 réponses
jordane45
- Messages postés
- 31471
- Date d'inscription
- mercredi 22 octobre 2003
- Statut
- Modérateur
- Dernière intervention
- 24 février 2021
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
- 31038
- Date d'inscription
- mercredi 2 mai 2007
- Statut
- Modérateur
- Dernière intervention
- 24 février 2021
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/
destiny
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
- 31038
- Date d'inscription
- mercredi 2 mai 2007
- Statut
- Modérateur
- Dernière intervention
- 24 février 2021
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