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 :

Where date= quelque chose


Sujet :

Requêtes MySQL

  1. #1
    Membre averti Avatar de NeHuS
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 343
    Points : 316
    Points
    316
    Par défaut Where date= quelque chose
    Salut tout le monde ,

    j'ai une table avec un champ date donc de la forme yyyy-mm-dd (ex 2006-07-08)

    dans l'une de mes requetes j'aimerais selectionner les enregistrements d'un mois donné ( par exemple le mois courant)

    alors une façon ( et merci la faq rubrique date) serait de faire Between le premier jour de ce mois et le dernier mais je voulais savoir si vous avez deja ete confronté a ça et quelle a eté votre solution.

    en gros j'aimerai faire une requete du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT les_enregristrements FROM la_table WHERE date = $mois
    Cliquez sur

    Evitez de mettre Probleme
    dans les titres de vos posts

  2. #2
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    Bonjour,

    si tu peux avoir l'annee et le mois tu peut faire comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT les_enregristrements FROM la_table WHERE date like  '".$year."-".$mois."%'
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  3. #3
    Membre averti Avatar de NeHuS
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 343
    Points : 316
    Points
    316
    Par défaut
    Salut yiannis

    Ouaip avec like c'est nickel je n'y avais pas pensé sur le coup

    Merci
    Cliquez sur

    Evitez de mettre Probleme
    dans les titres de vos posts

  4. #4
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    Salut,

    C'est quand même dommage d'abandonner le BETWEEN pour cette solution

    Premièrement, car les dates sont stockées sous forme d'entier, et les transformer en chaînes pour les comparer, c'est pour moi la même chose que faire un CAST pour comparer deux INT.

    Deuxièmement, tout index placé sur une colonne date devient complètement inutile en faisant ce genre de comparaisons. Et ça c'est quand même une sacrée perte de performances.

    Une autre solution, plus propre à mon goût, c'est de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE YEAR(laDate) = YEAR(CURDATE()) AND MONTH(laDate) = MONTH(CURDATE())
    mais pour cette méthode aussi, les index ne sont pas utilisés... sur MySQL en tout cas.

    Donc je ne sais pas ce qui te dérange avec la méthode BETWEEN. Si c'est pour avoir la date de fin de mois, elle s'obtient très facilement avec l'utilisation d'INTERVAL.

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

Discussions similaires

  1. [thread][methodologie]Quelque chose que je ne comprends pas!
    Par norkius dans le forum Général Java
    Réponses: 5
    Dernier message: 16/03/2005, 14h01
  2. where date() > date+24heures
    Par wjc dans le forum Administration
    Réponses: 8
    Dernier message: 19/02/2005, 22h18
  3. requette where date="moins de 2 jours"
    Par nmerydem dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 18/05/2004, 16h58
  4. Réponses: 3
    Dernier message: 27/04/2004, 18h21

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