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

Langage SQL Discussion :

problem avec between


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 64
    Par défaut problem avec between
    Bonjour
    j'ai un probleme avec la requete svte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM ident_abonnes WHERE DATE(date_ident) BETWEEN DATE('20090104')and Date('20090208').
    le type de 'date_ident' dans ma table est int.
    voici le message erreur signalé; You have an error in your SQL syntax near '(date_ident) BETWEEN DATE('20090101') AND DATE('20090301') ORDER BY date_' at line 10301') ORDER BY date_' at line 1

    Si qlq1 peut m'aider SVP

    merci d'avance

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Pour convertir quelque chose en type DATE, la fonction à utiliser est plutôt CAST.
    Après, ça dépend de votre SGBD.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    salut,

    tu stockes des dates dans une colonne integer? quelle drôle d'idée !
    pourquoi ne pas utiliser le type DATE?

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 64
    Par défaut
    c'est une table que je recoit comme ça.
    Je sais que ça allait etre bcp plus simple avec une colonne de type Date.

    je veux juste savoir si possible de manipuler cette table.

    Merci

  5. #5
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Salut !

    Tout à fait d'accord avec les remarques qu'on t'as faites.
    Cela dit, je suppose que date ident est au format yyyymmdd, comme les deux autres ?

    Si oui, tu peux un tout petit peu changer ta requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT * 
    FROM ident_abonnes 
    WHERE date_ident BETWEEN 20090104 AND 20090208
    => La grande force du format 'yyyymmdd', c'est justement que lorsqu'on la considère comme un entier, l'ordre qui en résulte est le même que sur les dates associées

Discussions similaires

  1. Acces probleme de Date avec Between
    Par kahya dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 03/05/2007, 16h26
  2. probleme avec WHERE ... BETWEEN ... AND ...
    Par toyyo dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 30/11/2005, 14h25
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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