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

SQL Procédural MySQL Discussion :

mysql : selectionner des mois.


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2003
    Messages
    391
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 391
    Par défaut mysql : selectionner des mois.
    Bonjour,
    J'ai une table (mysql) qui s'appelle "evenements" qui posséde deux colonnes : dt (la date au format DATE) et id (un identifiant quelquonque.. au format INT)

    J'ai besoin de selectionner les identifiants sur une periode données : du mois en cours à mois en cours + 3.
    par exemple si on est mi novembre, il me faut tous les identifiants du 01/11/2006 au 31/01/2007. (même si c'est a cheval sur deux ans!!!)
    voilà, je ne sais pas quoi mettre dans ma clause where pour faire ceci.. je cherche depuis ce matin, et là je cale.

    Merci d'avance...

  2. #2
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Bonjour,

    Pour tester si une valeur est comprise entre 2 bornes, utilise BETWEEN.

    Pour ajouter 3 mois au mois en cours regarde du côté des fonctions de date/heure.

    Ce tuto pourrait aussi t'aider.

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2003
    Messages
    391
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 391
    Par défaut
    Bonjour Maximilian,
    Je connais BETWEEN.
    au debut j'avais pensé a prendre la date du jour et la date du jour+90 et utuliser un between, mais bon ca ne marche pas quand on est en milieu de mois.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE dt BETWEEN CURDATE() AND  DATE_ADD(CURDATE(), INTERVAL 90 DAY)
    Le probleme est qu'avant de "rajouter 3 mois à la date en cours", il faut revenir au premier jour du mois.

    En fait je pense que la bonne solution revient a travailler non pas sur les jours mais bien sur les mois. (sinon on deborde d'un jour sur le 4eme mois d'ailleur)

    un truc du genre : mois(dt)>=curmois and mois(dt)<curmois+3, ca je pense que c'est faisable, mais il y a un probleme quand on change d'année.. car apres 12, il y a 1.
    PS : curmois() serait le mois de curdate()...

    Vous voyez ce que je veux dire...

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2003
    Messages
    391
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 391
    Par défaut
    Bon, finalement j'ai réussi a trouver u nsysteme.
    ca me semble fiable (je ne travaille pas sur des jours)
    mais par contre ce n'est pas la solution idéale pour moi car j'ai dû utiliser du php... tant pis...

    voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $NBMOISMAX=4; // nb de mois a couvrir...
    
    $d1=date("Ym"); // date de début.
    $d2=date("Ym",mktime(0,0,0,date("m")+$NBMOISMAX,date("d"),date("Y")));
     // date de fin.
    
    // requette SQL :
    where  DATE_FORMAT(dt,'%Y%m')>=$d1 
              and DATE_FORMAT(dt,'%Y%m')<$d2
    voilà.

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

Discussions similaires

  1. Réponses: 26
    Dernier message: 01/07/2006, 13h14
  2. [MySQL 4.0.17] gestion des mois et des jours
    Par Zen_Fou dans le forum Requêtes
    Réponses: 2
    Dernier message: 29/04/2006, 10h50
  3. [MYSQL] utilisation des TZ sous delphi possible?
    Par douill dans le forum Bases de données
    Réponses: 3
    Dernier message: 23/03/2005, 17h19
  4. Administration MySQL gestion des utilisateurs
    Par MaxiMax dans le forum Administration
    Réponses: 2
    Dernier message: 01/07/2004, 13h56
  5. LYCOS ET MYSQL - Intégrer des images dans une base!
    Par archeo dans le forum Installation
    Réponses: 3
    Dernier message: 06/04/2004, 13h45

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