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

MySQL Discussion :

Comparaison de champs date avec NOW


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Par défaut Comparaison de champs date avec NOW
    Bonjour,
    Et bien j'ai un soucis lors de la comparaison de date dans mes requêtes sql:

    pour tester, j'ai esayé ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT NOW()-00240000000000
    Resultat: 19860210135351.000000
    => Date du jour - 24 ans, OK

    je verifie que l'on peu comparer avec NOW() (BirthDate est un champ de type DATE):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT COUNT(UserID)
    FROM `User`
    WHERE BirthDate < NOW()
    Resultat: 17000
    => Tout les utilisateurs de la base: Ok


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT COUNT(UserID)
    FROM `User`
    WHERE BirthDate > 19860210135351.000000
    Resultat: 814
    => Utilisateur de moins de 24 ans (ok)
    (comparé avec le résultat de la première requete)

    Et pour finir, le mixage du tout:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT COUNT(u.UserID)
    FROM `User`
    WHERE u.BirthDate > NOW()-00240000000000
    Resultat: 0
    Normalement ici je devrai avoir le même résultat qu'au dessu: 814...

    WTF ?

    Merci

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Salut,

    as tu essayé ca ?

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT COUNT(u.UserID)
    FROM `User`
    WHERE u.BirthDate > (NOW()-00240000000000)

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Bonjour,

    Et comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT COUNT(u.UserID) as nb
    FROM User u
    WHERE u.BirthDate > CURDATE() - INTERVAL 24 YEAR

  4. #4
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Par défaut
    Ah Merci

    En suivant les exemple j'ai reussi avec ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE u.BirthDate > DATE_SUB(NOW(), INTERVAL '25' YEAR)

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Si la colonne "BirthDate" est de type date, il vaut mieux "CURDATE()" qui ne prend que la date, alors que "NOW()" prend la date et l'heure.

  6. #6
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Par défaut
    Okay, je retiens.

    merci encore

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

Discussions similaires

  1. Champ date avec un calendrier
    Par Invité dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 17/08/2007, 15h20
  2. Champ Date avec SQL
    Par bastion dans le forum Bases de données
    Réponses: 1
    Dernier message: 26/05/2007, 11h39
  3. clause sql sur champ Date avec masque de saisie
    Par TOMSEC dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 05/04/2007, 12h20
  4. [Dates] Champs date avec slash
    Par bahaaldine dans le forum Langage
    Réponses: 1
    Dernier message: 21/02/2007, 08h28
  5. composant de calcul [champ date] avec rave report
    Par segnac dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/06/2005, 19h08

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