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 :

Comparaison entre dates


Sujet :

Requêtes MySQL

  1. #1
    Débutant
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Points : 106
    Points
    106
    Par défaut Comparaison entre dates
    Bonjour,

    Je dois extraire des lignes dans une table qui comporte une colonne date à condition qu'elles soient comprises entre deux valeurs de dates.
    Ca marche avec la condition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    colonne_date>="valeur1" AND colonne_date<="valeur2" ;
    Maintenant, je veux que ça ne sorte que les lignes pour lesquelles l'année de la colonne date est la même que celle des deux valeurs.
    En d'autres termes, je veux faire leur comparaison mais que leur année soit la même:

    je pensais à ajouter :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    year(colonne_date)=year(valeur1) AND year(colonne_date)=year(valeur2);
    Est-ce qu'il y' a une autre méthode pour réaliser ça ?

    Merci de votre aide
    .

    Cordialement

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Si je te suis, valeur1 et valeur2 sont des dates de la même année civile, donc les colonnes retenues qui doivent être comprises entre ces deux dates seront forcément de la même année.
    Au passage j'aurais plutôt formuler cela avec BETWEEN
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    colonne_date BETWEEN "valeur1" AND "valeur2"

  3. #3
    Débutant
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Points : 106
    Points
    106
    Par défaut
    Bonjour Maljuna,

    pas forcément de la même année civile .

    l'année de la colonne peut différer de celle des deux valeurs.

    Par exemple : je dois extraire toutes les lignes dont la date est comprises entre le 1er janvier 2011('2011-01-01') et le 30 mars 2011('2011-03-30').

    Donc si je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    colonne_date BETWEEN ('2011-03-30') and '2011-03-30
    .

    Il ne me sortira pas une ligne qui a une date dans une année 2008 ? comme ( '2008-02-24') ou au delà de 2011. => ce que je ne veux pas

    Et il me sortira bien une ligne comme date égale à la valeur de comparaison '2011-01-01' ?

    C'est une compréhension de la fonction between par rapport aux opérateurs (<=, >=).

    cordialement

  4. #4
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Je n'ai rien compris à ton dernier message .
    Si tu veux une ligne avec colonne_date comprise entre le 1er janvier 2011('2011-01-01') et le 30 mars 2011('2011-03-30'), il faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    colonne_date BETWEEN '2011-01-01' AND '2011-03-30'
    les bornes sont comprises dans l'intervalle.

  5. #5
    Débutant
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Points : 106
    Points
    106
    Par défaut
    Bonjour Maljuna

    Voilà j'ai compris. Je voulais m'assurer que les bornes sont bien comprises dans l'intervalle;

    et aussi si une date est dans une autre année différente de 2011, est ce que cette condition va le sortir ?

    Je vois bien que non car c'est seulement les dates qui auront une année similaire à 2011 qui seront comprises entre les deux valeurs.


    Merci beaucoup ça passe !

    Cordialement et à bientôt.

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

Discussions similaires

  1. Comparaison entre date et exercice
    Par gentilman_delphi dans le forum Débuter
    Réponses: 5
    Dernier message: 22/03/2008, 14h29
  2. Comparaison entre dates
    Par javaboy dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 05/07/2007, 14h51
  3. [Date] comparaison entre dates
    Par *alexandre* dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 03/11/2006, 11h17
  4. Réponses: 6
    Dernier message: 18/04/2006, 13h11
  5. [Dates] Comparaison de date entre deux IP (anti-flood)
    Par psychoBob dans le forum Langage
    Réponses: 79
    Dernier message: 23/12/2005, 17h19

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