Erreur requête SQL fonction BETWEEN
destiny
-
destiny -
destiny -
bonjour, j'ai une requête SQL où je sélectionne le résultat entre deux dates avec le mot clé BETWEEN.
la requête fonctionne mais le problème est que, elle m'avoie même le date que je ne pas demander mais le résultat d'un même jour ça fonctionne comme par exemple 23/02/2021 au 23/02/2021(ça ça fonctionne )
Mais 01/01/2021 au 22/02/2021 ça m'envoie les dates dont je ne pas besoin.
La date dans ma base de données et en format francais du genre
Il y'a t-il quelqu'un pour m'aider s'il vous plaît ?
Je galère dessus depuis un moment vraiment.
la requête fonctionne mais le problème est que, elle m'avoie même le date que je ne pas demander mais le résultat d'un même jour ça fonctionne comme par exemple 23/02/2021 au 23/02/2021(ça ça fonctionne )
Mais 01/01/2021 au 22/02/2021 ça m'envoie les dates dont je ne pas besoin.
La date dans ma base de données et en format francais du genre
date('d/m/Y')
Il y'a t-il quelqu'un pour m'aider s'il vous plaît ?
Je galère dessus depuis un moment vraiment.
A voir également:
- Erreur requête SQL fonction BETWEEN
- Fonction si et - Guide
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
5 réponses
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.
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.
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question