|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 8 ![]() |
Bonjour à tous,
je viens vous demander de l'aide car mes connaissances en Oracle sont très limitées, je débarque dessus et je suis bloqué pour un problème qui peut paraitre bête... Voici une description simplifiée de mon problème. J'ai une table PRM, contenant les champs ID et VAL. Une de mes entrée (avec l'ID 10 par exemple) contient une date (format: dd/mm/yyyy hh24:mm:ss), une autre entrée (avec l'ID 11) contient un nombre entier représentant un temps en minute. Je dois prendre ma date, y ajouter mon nombre de minutes et vérifier que le résultat est supérieur ou inférieur à la date du système... On m'a dit que cela était faisable en Oracle avec to_date mais je nage complètement... ![]() Merci d'avance de votre aide! |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 453 ![]() |
Déjà : Transforme ta valeur date (val de id=10) en une date Oracle
Ensuite on peut ajouter un nb de jour à une date. Donc il faut transformer ton nombre de minute en jour (60 minutes par heure, 24 h par jour) . Donc Code :
TO_DATE(val, 'dd/mm/yyyy hh24:mm:ss') + x_minutes / 60 / 24 = nouvelle date.
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 8 ![]() |
Merci de cette réponse rapide
Par contre comment puis-je remplacer la valeur val dans ma requête? J'ai essayé cette requête mais sans succès: Code :
TO_DATE(SELECT val FROM prm WHERE id='10', 'dd/mm/yyyy hh24:mm:ss') |
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 453 ![]() |
Gné ?
Code :
__________________
More Code : More Bugs. Less Code : Less Bugs |
||
|
|
00
|
|
|
#5 | ||||
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 8 ![]() |
Je viens d'essayer ceci:
Code :
Code :
Merci |
||||
|
|
00
|
|
|
#6 | |
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
Citation:
Pour que ca marche il faudrait que T1 et T2 (cad des tables) soient dans ton FROM !!!!
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
|
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 523 ![]() |
Pourquoi ne pas jeter un oeil dans un cours de SQL ? Il y en a sur http://www.developpez.com/ justement !!!
Tes T1 et T2 ne sont pas défini dans ta clause FROM, on ne sait pas ce que c'est ni d'où ils viennent. |
|
|
00
|
|
|
#8 | ||
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 8 ![]() |
Jai bien compris que mon erreur venait de là, mais je ne comprends pas comment faire pour réaliser ce que je veux...
J'ai ça: Code :
|
||
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
Tu piétines vite !!!
Pour comparer une date à la date système Et quand ta date est supérieur à ta date système tu fais quoi ?
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 8 ![]() |
Ben je voudrais le savoir c'est tout! Ca me permet de savoir si le paramètre enregistré à la date x avec un temps de validité de y minutes est encore valable.
Comment faire pour calculer "mydate" dans mon cas? Merci de votre aide! |
|
|
00
|
|
|
#11 | ||
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
Tu rajoutes tout simplement un jour (ou une fraction de jour) à une date !!!
(pas besoin de TO_NUMBER et autre TO_CHAR) Code :
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
||
|
|
00
|
|
|
#12 | ||
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 8 ![]() |
Je ne peux pas faire ça car le temps que je dois ajouter à ma date est un paramètre stocké dans ma base de données.
Je viens d'essayer ceci: Code :
Doit y avoir une erreur dans le calcul... |
||
|
|
00
|
|
|
#13 | |
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 523 ![]() |
Citation:
Pour manipuler des dates, tu n'as pas besoin de faire de conversion. |
|
|
|
00
|
|
|
#14 | ||
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
C'est pourtant pas compliqué !!!!
Code :
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
||
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 8 ![]() |
En enlevant les 2 to_number, j'ai une erreur:
Code :
ORA-00975: l'opération DATE+DATE n'est pas autorisée
|
|
|
00
|
|
|
#16 | ||
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
Donc T2.val est au format DATE (don ce n'est pas un nombre contrairement à ce que tu as dit dans ton premier post ) !
Code :
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
||
|
|
00
|
|
|
#17 | ||
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 8 ![]() |
Bonjour,
ça y est: Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com