Difference de date

Fermé
Ghislain22 Messages postés 13 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 6 janvier 2010 - 20 nov. 2009 à 17:19
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 - 23 nov. 2009 à 17:52
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

8 réponses

moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
20 nov. 2009 à 17:52
bonjour

Sous quel format est ta date location
0
Ghislain22 Messages postés 13 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 6 janvier 2010
21 nov. 2009 à 01:06
Merci de m'aider!

ALors ma dAte est sous format TIMESTAMP ex: 01/09/09 09:16:08,00000
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
21 nov. 2009 à 09:05
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
Ghislain22 Messages postés 13 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 6 janvier 2010
21 nov. 2009 à 22:28
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
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
22 nov. 2009 à 06:12
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
Ghislain22 Messages postés 13 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 6 janvier 2010
23 nov. 2009 à 09:35
Apparament sql ne reconnait pas Datediff :"ORA-00904: "DATEDIFF" : identificateur non valide "
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112 > Ghislain22 Messages postés 13 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 6 janvier 2010
23 nov. 2009 à 10:05
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
Ghislain22 Messages postés 13 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 6 janvier 2010 > Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014
23 nov. 2009 à 11:26
Peut-etre est-ce le format de mes dates (timestamp) qui ne convient pas...
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
23 nov. 2009 à 11:43
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ghislain22 Messages postés 13 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 6 janvier 2010
23 nov. 2009 à 16:54
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
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
23 nov. 2009 à 17:28
Ghislain22,

Le lien est le fruit de mes recherches de cet après-midi.
J'ai appris beaucoup de choses.
A vous de voir s'il en est de même..

http://ww38.laltruiste.com/document.php?url=http://www.laltruiste.com/courssql/fctn_dateheure.html

Cordialement
0
Ghislain22 Messages postés 13 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 6 janvier 2010
23 nov. 2009 à 17:42
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
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
23 nov. 2009 à 17:52
Ghislain22, le 23 nov 2009 à 17:42:54

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

Au plaisir
0