
Datum auf Viertelstunde runden
Die Funktion viertelstunde rundet ein Datum auf die volle Viertelstunde ab.
Beispiel
select sysdate from dual
SYSDATE
-------------------
24.06.2005 11:44:07
1 row selected
select viertelstunde(sysdate) from dual
viertelstunde(SYSDATE)
-----------------------
24.06.2005 11:30:00
1 row selected
select sysdate from dual
SYSDATE
-------------------
24.06.2005 11:45:04
1 row selected
select viertelstunde(sysdate) from dual
viertelstunde(SYSDATE)
-----------------------
24.06.2005 11:45:00
1 row selected
Quellcode
CREATE OR REPLACE function viertelstunde(p_date date) return date
is
-- Ereugt einen Linkcode der garantiert eindeutig ist,
--
--
v_mi number;
begin
v_mi := to_char(p_date,'MI');
if v_mi >= 0 and v_mi < 15 then
v_mi := 0;
elsif v_mi >= 15 and v_mi < 30 then
v_mi := 15;
elsif v_mi >= 30 and v_mi < 45 then
v_mi := 30;
elsif v_mi >= 45 then
v_mi := 45;
end if;
return to_date(to_char(p_date,'yyyymmddhH24')||v_mi,'yyyymmddhh24mi');
end;
/
Inhalt