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

Bases de données Delphi Discussion :

Requête TQuery avec champ date


Sujet :

Bases de données Delphi

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    839
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 839
    Points : 262
    Points
    262
    Par défaut Requête TQuery avec champ date
    bonjour,

    voici le bout d'une requete sur un Tquery

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    query1.SQL.Add('and optime.STAMP_DEB>=:debut');
    query1.SQL.Add('and optime.STAMP_DEB<=:fin');
    le champ STAMP_DEB est un type stamp
    vous l'avez surement compris, je veux encadrer par 2 dates (paramètres :debut et :fin) le résultat de la requete

    mon problème c'est que je voudrais que les dates représentées par :debut et :fin soient incluses mais malgré la présence de "<=" et >=" ca ne fonctionne pas ?
    il doit y avoir une erreur de syntaxe ?


    merci

  2. #2
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    STAMP ? Je ne connais pas ? Quel SGBD ? S'il s'agit de TIMESTAMP, il ne faut pas oublier qu'il s'agit d'un réel, avec les problèmes classiques d'arrondi, qui créent des problèmes aux bornes. Si tu veux éviter les problèmes, tu dois pouvoir tronquer la valeur de tes champs (syntaxe selon SGBD).

    Un détail pour simplifier ta requête : BETWEEN inclut également les bornes, donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    query1.SQL.Add('and optime.STAMP_DEB BETWEEN :debut AND :fin');
    Roland

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    839
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 839
    Points : 262
    Points
    262
    Par défaut réponse
    salut,

    oui vous avez corrigé de vous même, c'est bien du timestamp dont il s'agit !
    je travaille avec des bases paradox avec le BDE.

    votre syntaxe fonctionne, mais j'ai l'impression suivante:
    la date de départ est incluse dans la requete alors que la date de fin ne l'est pas ?

    est ce que quelqu'un pourrait me confirmer cela. J'ai en effet lu quelque part que suivant le moteur de la base le résultat d'un between était différent, car les dates de début et fin sont incluses ou pas dans la requete between .

    A+

  4. #4
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    Es-tu bien sûr que dans ton champ date, tu ne récupères pas aussi l'heure ? Parce qu'il est certain que 15/11/2008 8:58 est supérieur à 15/11/2008 (sous-entendu 00:00) ! Si c'est le cas, si tu veux avoir tous les TIMESTAMP correspondant au 15/11, il faut alors que tu laisses tomber le BETWEEN et que tu mettes < 16/11
    Roland

Discussions similaires

  1. requête sur le champ date
    Par bouba_95 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 10/01/2007, 15h10
  2. Problème sur une requete avec champ date
    Par islande dans le forum Access
    Réponses: 2
    Dernier message: 21/09/2006, 19h39
  3. Requête UNION avec champ Oui/non
    Par Mariboo dans le forum Access
    Réponses: 4
    Dernier message: 01/08/2006, 08h36
  4. problème de syntaxe avec champ date
    Par mussara dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 03/02/2006, 16h19
  5. requêtes sur des champs date
    Par wiwi dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 03/02/2006, 14h14

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