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

PHP & Base de données Discussion :

Requete SQL et REGEXP sur une date [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 99
    Points : 45
    Points
    45
    Par défaut Requete SQL et REGEXP sur une date
    Bonjour,
    J'ai une table de type : id, news, date_ajout
    J'aimerais via une requête sql récupérer toutes les news datant par exemple du mois de novembre.

    Sur un fichier test, j'ai mis ce code la pour tester les expressions régulières :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $date = "2010/10/10";
    echo $date.'<br/>';
    $exp = "/^[0-9]{4}\/10\/[0-9]{1,2}$/";
    if (preg_match($exp, $date))
    {
    	echo "oui";
    }
    else
    {
    	echo "non";
    }
    Le test fonctionne bien et renvoie bien oui.

    J'ai donc voulu appliquer cette expression dans la requête afin de sélectionner les news voulues :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM  artiste_artiste WHERE date_ajout REGEXP '/^[0-9]{4}\/10\/[0-9]{1,2}$/'
    mais la requête ne renvoie aucun résultat.
    Je ne suis pas très doué en expression régulière, pourriez vous m'indiquer ou se trouve la faute ?

    Merci d'avance.

  2. #2
    Membre actif Avatar de polkduran
    Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 155
    Points : 275
    Points
    275
    Par défaut
    C'est plus facile d'utiliser la fonction date_format
    http://dev.mysql.com/doc/refman/5.1/...on_date-format
    Si ton champ est de type date tu peux faire

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM  artiste_artiste WHERE date_format(date_ajout,"%m")=11

    c'est plus facile et plus rapide

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    et pour toutes les fonctions dates de mysql: http://dev.mysql.com/doc/refman/5.0/...functions.html

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 99
    Points : 45
    Points
    45
    Par défaut
    Merci pour ta réponse, je ne savais que l'on pouvais passer par cette fonction

    Ta solution me retourne toutes les dates mais remplace tous les mois par le chiffre indiquer dans la requête (dans ton exemple 11),

    en bidouillant un peu, j'ai réussi à trouver ce que je voulais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT MONTH(date_ajout) FROM artiste_artiste where MONTH(date_ajout) = 11
    et ca me retourne que les news du mois selectionné.

    Merci beaucoup !!

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

Discussions similaires

  1. [AC-2007] Requete SQL a faire sur une autre base Access
    Par Elbatro dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 29/04/2015, 14h36
  2. Query SQL avec tri sur une date + groupement
    Par Raphael1980 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 24/02/2009, 15h12
  3. [Requete]Faire un groupement sur une date précédente
    Par le_gueux90 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 03/12/2007, 09h53
  4. [Excel/VBA] Requete SQL avec clause sur une suite de Cellule
    Par Myogtha dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 21/02/2007, 17h36
  5. [SQL] Conditions sur une date dans une requete
    Par poufouille dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2004, 14h25

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