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 :

comparer date et varchar


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Par défaut comparer date et varchar
    Bonjour,

    Dans une requête, j'ai un champ "datefin" de type datetime, que je souhaite comparer avec la date '09/10/2011'.

    Comment peut-on exprimer cela en sql, sachant que bien évidemment l'expression
    where datefin = '09/10/2011' , ne fonctionne pas.

    J'ai essayé également
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    where datefin = CAST('09/10/2011'AS DATETIME);
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CAST(datefin AS DATETIME)  = CAST('09/10/2011' AS  DATETIME);
    Merci d'avance pour votre aide

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 445
    Par défaut
    Ta date n'est pas dans le bon format. JJMMAAAA au lieu de AAAAMMJJ

    A mon avis ces trois façon d'écrire sont équivalentes mais la première est probablement la bonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WHERE datefin = '2011-10-09 00:00:00'
    WHERE datefin = '2011-10-09'
    WHERE datefin = '2011/10/09'
    Et si tu ne veux pas stocker les heures il faut plutôt utiliser date et non datetime.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Par défaut
    Merci beaucoup Fred,

    le problème est que le champ datefin dans la base est au format JJ/MM/AAAA

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 445
    Par défaut
    Tu peux donner le "show create table " de ta table ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE matable (
      MACLEF   varchar(6) NOT NULL,
      DATEDEBUT  date,
      --------
      --------
      DATEFIN   date,
     ) ENGINE = InnoDB;

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 445
    Par défaut
    Donc, datefin est bien de type date et non dateTime.

    Étrange que dans ta base tu aies ce format : JJ/MM/AAAA !!!
    Tu es sur que ce n'est pas modifié par ton affichage ?

    Que donne ces deux requêtes ?:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT CAST('09-10-2011' AS DATE)
    SELECT CAST('2011-11-09' AS DATE)

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 19/01/2007, 14h21
  2. [Comparer][Date] : récupérer la différence
    Par Darkroro dans le forum Modules
    Réponses: 2
    Dernier message: 30/10/2006, 09h52
  3. [PostgreSQL] DATE to VARCHAR
    Par wwave dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/07/2006, 14h56
  4. comparer date dans requete
    Par lazzeroni dans le forum Oracle
    Réponses: 1
    Dernier message: 23/05/2006, 15h55
  5. Réponses: 4
    Dernier message: 24/08/2004, 13h54

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