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

MS SQL Server Discussion :

Impossible filtrer requête entre deux dates


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 116
    Points : 88
    Points
    88
    Par défaut Impossible filtrer requête entre deux dates
    Bonjour à tous.
    Je suis perdu dans quelque chose tout bête, je cherche partout sans trouver une réponse.

    Depuis un projet ADP Access 2007 je voudrais filtrer une requête selon deux dates.
    Si j'ai le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT FechaM, IdDirPost,  DirPostNum 
    FROM qryLettreM  
    WHERE [FechaM] >= CAST ('11/06/2011' AS Date) 
    And [FechaM] <= CAST ('06/08/2011' AS Date)
    Le valeurs de la date du 06/08/2011 n’apparaissent pas dans ma requête.
    Si je mets un jour de plus: 07/08/2011 les valeurs du 6 août apparaissent.

    J'essaie aussi avec CONVERT, et c'est pareil:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT FechaM, IdDirPost,  DirPostNum 
    FROM qryLettreM 
    WHERE  FechaM => Convert(DateTime, '11/06/2011', 102) 
    and  [FechaM] <= Convert(DateTime,'06/08/2011', 102)
    Dans ma table, la colonne FechaM est du type DateTime, je me sers aussi des heures dans cette colonne, mais pour cette requête c'est seulement la date qui m’intéresse.

    Je vous remercie d'avance si pouvez m'éclairer.

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT FechaM, IdDirPost,  DirPostNum 
    FROM qryLettreM  
    WHERE [FechaM] BETWEEN '20110611 00:00:00' AND '20110806 23:59:59'
    ++

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 116
    Points : 88
    Points
    88
    Par défaut
    Voilà, j'étais sur que c'était bête de ma part.
    Merci beaucoup.
    Résolu!

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Citation Envoyé par mikedavem
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT FechaM, IdDirPost,  DirPostNum 
    FROM qryLettreM  
    WHERE [FechaM] BETWEEN '20110611 00:00:00' AND '20110806 23:59:59'
    On doit même pouvoir écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT FechaM, IdDirPost,  DirPostNum 
    FROM qryLettreM  
    WHERE FechaM BETWEEN '2011061' AND '20110807'


    @++

  5. #5
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Tout dépend si on veut avoir les dates concernant le 07/08/2011 00:00:00 comprisent dans le résultat ou non mais je crois que dans le contexte du post ce n'était pas le cas.

    ++

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 116
    Points : 88
    Points
    88
    Par défaut
    En effet, ce sont les dates jusqu'au 06/08/2011 qui m’intéressent. Cette valeur je la prends d'une combobox et je la passe comme critère à ma requête.

  7. #7
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    La valeur '20110807' sera automatiquement transtypée en datetime par SQL Server en la valeur 2011-08-07 00:00:00.000.
    Si on veut exclure cette date, on peut écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT FechaM, IdDirPost,  DirPostNum 
    FROM qryLettreM  
    WHERE FechaM >= '2011061'
    AND FechaM < '20110807'


    @++

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 116
    Points : 88
    Points
    88
    Par défaut
    Le résultat est le même, mais lorsque je prends la date depuis une combobox, il est plus simple d'ajouter "23:59:59" à la chaîne de la date, que l'augmenter d'un jour pour avoir: "07/08/2011 00:00:00".

  9. #9
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Parce que vous manipulez la chaîne qui représente la date, pas la date

    @++

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

Discussions similaires

  1. [AC-2003] Probleme de requête entre deux date
    Par Walid(Tun) dans le forum VBA Access
    Réponses: 5
    Dernier message: 23/09/2010, 13h01
  2. requête entre deux dates
    Par yeahyeah dans le forum VB.NET
    Réponses: 25
    Dernier message: 11/09/2007, 10h14
  3. recherche entre deux dates dans une requête
    Par emmanuel4945 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/11/2006, 21h42
  4. Requête pour calculer le temps entre deux dates
    Par Badboy62cfp dans le forum Access
    Réponses: 2
    Dernier message: 19/05/2006, 13h50
  5. Requête entre deux dates
    Par jedwiller dans le forum Access
    Réponses: 13
    Dernier message: 17/05/2006, 11h33

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