Oracle - days_between

martin kluvanek kluvanek na tesnet.cz
Neděle Leden 12 16:35:38 CET 2003


Hola Hola!
Naivne som sa domnieval ze v oracle je nieco ako rozdiel dvoch
timestampov typu realne cislo.
Je tam sice months_between ale to pocita len celkom nelogicky mesiace,
ale pokial potrebujete nieco ako 
now-1.1.2003=12.731264 (dna) tak podla mna smola.
Pokusal som sa o vselijake kejkle s prevodom typov ale jedine, co sa mi
podarilo je :

create or replace function 
days_between(d1 timestamp, d2 timestamp)
return number
AS
dtx interval day(9) to second (9);
re number;
begin
dtx:=d2-d1;
re:=extract(day from dtx)+extract(hour from dtx)/24+extract(minute from
dtx)/1440+extract(second from dtx)/86400;
return re;
END;

Coz mi pripada ako pekny humus, lenze tu premennu dtx (interval) niesom
schopny nejak rozumne dostat do normalenho cisla.
Pokial to spravim par stotisic krat za sebou, tak zo mna oracle nebude
mat prilis velku radost .. 

Poradi niekto, please?


-- 
Martin Kluvanek
ved.odd. vyvoje (head of development department)
TES s.r.o
Testovani Energetickych Systemu (Testing of Energetical Systems)

Prazska 597
674 01 Trebic
Czech republic
tel:568 8384 28  (+420 5688384 28)
fax:568 8384 27  (+420 5688384 27)
homepage:http://www.tesnet.cz


Další informace o konferenci Databases