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

SQL Firebird Discussion :

Probleme requête avec un Timestamp


Sujet :

SQL Firebird

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 39
    Points : 24
    Points
    24
    Par défaut Probleme requête avec un Timestamp
    Bonjour,

    Je suis entrain de reprendre un projet de logiciel en Java dont la base de données est Firebird 2.1. Je visionne cette base avec IBexpert. Je souhaite donc faire une requête avec une clause " WHERE " sur un attribut d'une table de type timestamp.

    Mon problème est le suivant, voici un exemple de ce que m'affiche IBexpert pour un timestamp : 02.07.2008 17:40:24.

    J'ai tenté de faire les requêtes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Select * from nomTable where monChampTimestamp = '02.07.2008 17:40:24';
    Select * from nomTable where monChampTimestamp like '02.07.2008 17:40:24';
    Ces requête ne fonctionnant pas j'aimerai savoir comment je pourrai faire pour retourner un élément de ma table en fonction du timestamp.


    Merci d'avance,

    Matthieu

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Une première remarque, on présente les dates sous ce format 'MM/DD/YYYY' ou bien 'YYYY-MM-DD'.
    Ensuite Firebird 2.1 stocke les timestamp avec les millisecondes.

    Conclusion ta requête n'aboutit pas car il 'traine' des millisecondes derrière l'heure: '17:40:24.???'.

    Donc tu dois faire évoluer ta requête en précisant un intervalle (between) ou encore avec un DATE_DIFF.
    Autre solution, ne pas stocker les millisecondes dans ton Timestamp.

    @+ Claudius

  3. #3
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 715
    Points
    3 715
    Par défaut
    Citation Envoyé par Cl@udius Voir le message
    Une première remarque, on présente les dates sous ce format 'MM/DD/YYYY' ou bien 'YYYY-MM-DD'.
    non
    pas seulement cf :http://www.developpez.net/forums/sho...14&postcount=3

  4. #4
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par makowski Voir le message
    non
    pas seulement
    Certes, je ne prétendais pas être exhaustif.
    Néanmoins merci de cette précision.

    [edit]
    DD.MM.CCYY ou DD.MM.YY, je n'avais connaissance de ce format.
    Thanks.

    @+

  5. #5
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    La meilleure solution c'est un between pour être sûr d'utiliser les index. A ma connaissance, les fonctions permettant d'extraire une partie de la date provoqueront une analyse de table.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 39
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par Cl@udius Voir le message
    Conclusion ta requête n'aboutit pas car il 'traine' des millisecondes derrière l'heure: '17:40:24.???'.
    Effectivement il y a les millisecondes qui trainaient merci du coup de main !!
    et j'ai fais un between dans ma requete SQL !!

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

Discussions similaires

  1. [AC-2010] probleme requête avec msgbox ou txtbox
    Par zofrey dans le forum Access
    Réponses: 3
    Dernier message: 21/01/2014, 11h38
  2. Probleme requête avec CASE
    Par chciken92000 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 01/07/2008, 18h12
  3. Probleme, requète avec UNION?
    Par weetos dans le forum Langage SQL
    Réponses: 4
    Dernier message: 02/05/2008, 15h43
  4. probleme asp avec les requêtes
    Par 0kiss0 dans le forum ASP
    Réponses: 4
    Dernier message: 10/03/2007, 19h05
  5. Probleme avec les timestamps
    Par osopardo dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 19/07/2005, 16h28

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