|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 95 ![]() |
Bonjour,
je souhaiterais stocker dans une table oracle des durées en heure / minute. Par exemple : 05:03 pour 5 h 3 minutes, 120:45 pour 120 h 45 minutes. Est-ce possible ? Y a-t'il un type de donnée approprié à ce genre de besoin ? (j'ai cherché du côté de TIMESTAMP et INTERVAL...ça me semble un peu compliqué, faudrait stocker la date/heure/min de début et la date/heure/min de fin puis faire une différence pour avoir la durée ... :s). Merci pour vos lumières. |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 533 ![]() |
Auncun champs de type DATE ne pourrait vous donner une valeur > 24 pour l'heure par example. Si vous voulez stocker des valeurs de type 120:40, il vous faudra donc stocker ce genre de valeurs dans un Varchar2.
__________________
Rédacteur Oracle (Oracle ACE) Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche Je ne réponds pas aux questions techniques par MP Blogs: Forms-PL/SQL-J2EE - Forms Java Beans |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 95 ![]() |
Aïe...stocké dans un VARCHAR2, ça ne va pas simplifier les calculs pour additionner / soustraire... je pensais à NUMBER(3,2) dans ce cas...
|
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 533 ![]() |
de toute façon, ajouter des heures, des minutes et des secondes n'a jamais été simple.
__________________
Rédacteur Oracle (Oracle ACE) Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche Je ne réponds pas aux questions techniques par MP Blogs: Forms-PL/SQL-J2EE - Forms Java Beans |
|
|
00
|
|
|
#5 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 450 ![]() |
Met ta colonne en nombre (secondes).
Pour les calculs pas de problème. Pour les affichages, faudra juste faire une fonction de formatage (très simple) |
|
|
00
|
|
|
#6 | |
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 533 ![]() |
Citation:
__________________
Rédacteur Oracle (Oracle ACE) Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche Je ne réponds pas aux questions techniques par MP Blogs: Forms-PL/SQL-J2EE - Forms Java Beans |
|
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 450 ![]() |
fonction de formatage
Code :
|
||
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 95 ![]() |
Bonne idée de stocker directement en secondes.
Je pense que je vais pouvoir m'en sortir avec cette solution. Pour info, on peut éventuellement s'en sortir avec ce qui est décrit sur ce site (chapitre INTERVAL) : http://www.psoug.org/reference/timestamp.html A condition qu'on dispose d'une date de début et de fin pour pouvoir calculer l'intervalle (par un UPDATE). De plus, on ne peut pas utiliser la fonction d'aggrégation sum() sur les champs de type interval, seulement des +. Merci pour votre aide. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com