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 :

Comment soustraire 3 mois à la date d'aujourd'hui ?


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 29
    Points : 19
    Points
    19
    Par défaut Comment soustraire 3 mois à la date d'aujourd'hui ?
    Bonjour,

    Je souhaite afficher les news sur un site web en n'affichant que celles des 3 derniers mois.

    La date de chaque news est sauvegardée via now() dans un champ de type "timestamp".

    Comment sélectionner toutes les news des 3 derniers mois ?

    J'ai trouvé la fonction DATEDIFF()

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DATEDIFF(NOW(),DATENAISSANCE) FROM clients
    Comment faire pour avoir les "3 mois" sous la bonne forme afin de la soustraire à la date actuelle ?

    Merci d'avance de votre aide.
    Bien amicalement.
    Vincent.

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Regarde plutôt du côté de SUBDATE() :
    http://dev.mysql.com/doc/refman/5.0/...html#id3143972

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Bisûnûrs Voir le message
    Regarde plutôt du côté de SUBDATE() :
    http://dev.mysql.com/doc/refman/5.0/...html#id3143972
    Bonsoir,

    Désolé de répondre tardivement.
    Merci pour l'info et je vais essayer cela.

    A bientôt
    ++
    Vincent.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Bisûnûrs Voir le message
    Regarde plutôt du côté de SUBDATE() :
    http://dev.mysql.com/doc/refman/5.0/...html#id3143972
    Bonjour,

    J'ai regardé la fonction mais je vois pas comment atteindre ce que je veux....

    Cela doit sûrement être bien court...Pourriez-vous donner un exemple, cela m'aiderait bien ?

    Merci d'avance.
    Bien amicalement.
    Vincent.

  5. #5
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ...
    FROM ...
    WHERE DateNaissance >= NOW() - INTERVAL 3 MONTH
    ou encore (mais je préfère la première écriture) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ...
    FROM ...
    WHERE DateNaissance >= DATE_SUB(NOW(), INTERVAL 3 MONTH)
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Antoun Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ...
    FROM ...
    WHERE DateNaissance >= NOW() - INTERVAL 3 MONTH
    ou encore (mais je préfère la première écriture) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ...
    FROM ...
    WHERE DateNaissance >= DATE_SUB(NOW(), INTERVAL 3 MONTH)
    Bonsoir,

    Je ne comprend pas ce qui se passe dans MYSQL.
    J'ai fait exactement cela et je n'obtiens aucun records...

    Comment est-ce possible ?

    Je ne recois pas d'erreur mais aucun résultat.

    Merci pour votre aide.
    Bien amicalement.
    Vincent.

Discussions similaires

  1. comment soustraire une année à une date
    Par adelsunwind dans le forum IHM
    Réponses: 2
    Dernier message: 20/08/2008, 14h59
  2. Réponses: 4
    Dernier message: 25/06/2008, 14h57
  3. Comment ajouter un mois à une date en VBA
    Par patrick55 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/01/2008, 16h22
  4. Réponses: 9
    Dernier message: 14/06/2007, 16h43
  5. Comment soustraire un an à une date
    Par Jense dans le forum Oracle
    Réponses: 12
    Dernier message: 30/06/2006, 15h03

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