IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Utiliser Between avec des dates.


Sujet :

Requêtes MySQL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 351
    Points : 333
    Points
    333
    Par défaut Utiliser Between avec des dates.
    Bonjour et bonne année à tous,

    A l'ocation du changement d'année j'au eu un bug dans une application VB qui utilise une base MySql.

    J'ai trouvé une parade mais je ne comprend pas pourquoi si quelqu'un peut m'éclairer.

    J'ai une table des années avec une date de début et une date de fin pour chaque exercice.
    Je recherche l'identifiant de l'année correspondant à une date saisie:
    J'avais une requéte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT IdAnRef FROM anref WHERE '2020/01/06' BETWEEN FinAnRef AND DebutAnRef
    Elle marchait très bien en 2019
    J'ai remplacé par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT IdAnRef FROM anref WHERE '2020/01/06' >= DebutAnRef  AND  '2020/01/06' <= FinAnRef
    Je ne comprend pas qu'elle différence il y a entre les deux mais dans le premier cas la requéte ne trouve pas l'année et dans la seconde oui.

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    bonjour,


    Dans la première avec le BETWEEN, les bornes sont inversées.

    Si elle fonctionnait tel quel en 2019, c'est que vos données en base sont fausses pour cette années

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 351
    Points : 333
    Points
    333
    Par défaut
    Bonjour aieeeuuuuu,

    Excuse moi les bornes n'étaient pas inversées dans mon code, c'est un essai que j'ai fait la requéte d'origine était bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT IdAnRef FROM anref WHERE '2020/01/06' BETWEEN DebutAnRef AND FinAnRef

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 909
    Points
    38 909
    Billets dans le blog
    9
    Par défaut
    également, le séparateur ISO pour les colonnes de type date est le tiret et non le slash

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 351
    Points : 333
    Points
    333
    Par défaut
    Bingo, c'est ça
    Je vais de ce pas corriger mon code
    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requette avec Between avec des dates
    Par bob75000 dans le forum Access
    Réponses: 3
    Dernier message: 21/07/2006, 13h54
  2. between avec des date ..
    Par somatino dans le forum Requêtes
    Réponses: 7
    Dernier message: 31/05/2006, 17h06
  3. Réponses: 6
    Dernier message: 24/02/2005, 09h44
  4. Requetes avec des dates
    Par PrinceMaster77 dans le forum SQL
    Réponses: 1
    Dernier message: 22/11/2004, 17h46
  5. [Requête] Difficile (impossible ?) avec des dates
    Par starch dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/04/2004, 11h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo