Difference de date

Ghislain22 Messages postés 15 Statut Membre -  
Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je voudrais obtenir tous les objets loués dont la location est supérieure à 24h (ou 1 jour)

Un truc du genre SELECT * FROM Location where (sysdate-DateLocation)>1;

On peut utiliser Datediff peut etre?

Merci de m'éclairer
Configuration: Windows XP Internet Explorer 7.0

8 réponses

  1. moiced59 Messages postés 1161 Statut Membre 60
     
    bonjour

    Sous quel format est ta date location
    0
    1. Ghislain22 Messages postés 15 Statut Membre
       
      Merci de m'aider!

      ALors ma dAte est sous format TIMESTAMP ex: 01/09/09 09:16:08,00000
      0
  2. Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention   112
     
    Bonjour Ghislain22,

    Sauf erreur, voilà ce qu'il vous faut.
    NB : 'd' est l'argument qui demande lécart de date exprimé en jours (day).
    Vous devriez pouvoir adapter sans trop de difficultés la syntaxe à votre cas.

    SELECT [<Table>.<Champ>], [<Table>.<Champ_date>], DateDiff('d',[<Champ_date>],Now()) AS [Dépassé > 1 jour] FROM [<Table>]
    WHERE (((DateDiff('d',[<Champ_date>],Now()))>1));

    Cordialement
    0
    1. Ghislain22 Messages postés 15 Statut Membre
       
      Merci Jean-Jacques de votre aide; j'essaierai votre méthode lundi!

      J'en profite pour vous poser une petite question: pour mes dates j'utilise le format timestamp : ex 01/09/2009 09:15:98,00000. Connaissez vous/Existe-t-il une option qui puisse enlever ces '00000' correspondant aux "fractional_seconds_precision" et ainsi soigner la présentation?

      Merci d'avance
      0
  3. Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention   112
     
    Bonjour Ghislain22,

    Voici le lien que j'ai mis de côté [pour le cas où] j'aurais à traiter le sujet timestamp (autrement dit, je n'y connais rien) . Je vous laisse le soin de le découvrir.

    http://lwest.free.fr/doc/php/lib/date-fr.html#sec_14

    Formattage & Affichage
    Format( string format, int timestamp )
    Cette méthode renvoie la date timestamp formattée selon le format indiqué
    Methode statique, conçue pour formatter plusieurs dates sans devoir instancier un objet Date a chaque fois:
    $today = Date::Format( "%a %d %m %Y", time() );
    $yesterday = Date::Format( "%a %d %m %Y", time() - SEC_DAY );

    Bonne journée
    0
    1. Ghislain22 Messages postés 15 Statut Membre
       
      Apparament sql ne reconnait pas Datediff :"ORA-00904: "DATEDIFF" : identificateur non valide "
      0
      1. Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention   112 > Ghislain22 Messages postés 15 Statut Membre
         
        Bonjour Ghislain22,

        La version SQL dont je dispose sous ACCESS 2000 donne toute satisfaction.
        Dans votre code 'd' est-il bien présent ?

        Un site de référence SQL :
        http://www.ianywhere.com/developer/product_manuals/sqlanywhere/0901/fr/html/dbrffr9/00000157.htm


        Cordialement
        0
      2. Ghislain22 Messages postés 15 Statut Membre > Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention  
         
        Peut-etre est-ce le format de mes dates (timestamp) qui ne convient pas...
        0
  4. Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention   112
     
    Ghislain22,

    - En effet, c'est une hypothèse à envisager. Toutefois ce serait "insolite".
    - SQL a une vocation universelle, sinon infaillible.....

    Dans la journée, je vais fureter sur le net pour essayer de trouver un commentaire ou une explication à ce sujet.

    A+
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Ghislain22 Messages postés 15 Statut Membre
     
    alors j'ai trouvé une solution de rechange il s'agit de: months_between(date1, date2)

    L'inconvénient est que pour avoir les valeurs supérieures à 24h de dois mettre where months_between(date1, date2)>(1/30) (((ou 1/31 ou 1/29 suivant le mois )

    C'est pas super satisfaisant mais je m'en contente pour l'instant
    0
  7. Ghislain22 Messages postés 15 Statut Membre
     
    Merci beaucoup j'ai trouvé mon bonheur avec sysdate-1

    Merci de votre aide précieuse et de votre temps passé à m'aider Jean-Jacques

    Cordialement

    Ghislain22
    0
  8. Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention   112
     
    Ghislain22, le 23 nov 2009 à 17:42:54

    Je n'ai pas perdu de temps, j'ai appris beaucoup de choses.

    Au plaisir
    0