Scripty pro práci s datumem a časem

— Poslední den předchozího měsíce

 select to_char( ADD_MONTHS((LAST_DAY(SYSDATE)),-1),'yyyymmdd') as last_day_before from dual

– Výpis dnů od 1.1.2017 do 24.1.2017

SELECT   to_date('1.1.2017','dd.mm.yyyy')+(LEVEL-1) DATUM
FROM DUAL
CONNECT BY LEVEL <= to_date('24.1.2017','dd.mm.yyyy') - to_date('1.1.2017','dd.mm.yyyy') + 1

— Výpis dnů v aktuálním měsíci

SELECT   TO_CHAR (TRUNC (SYSDATE, 'MM'), 'YYYYMMDD')+(LEVEL-1) DATUM
FROM DUAL
CONNECT BY LEVEL < to_char(trunc(last_day(sysdate)),'dd')+1

— Převod vteřin na formát hh:mm:ss

select to_char(to_date(3661,'sssss'),'hh24:mi:ss') as time from dual

— Zjištění datumu poslední neděle

select to_char(next_day(trunc(sysdate,'IW'),'NEDĚLE')-7,'yyyymmdd') as last_sunday from dual

— Zjištění počátku roku dle uběhlého celého měsíce – pro měsíční souhrn (reportů)

select trunc((TRUNC(to_date('sysdate'),'month')-1),'year') as rok from dual /* 1.1.-31.1. hodi lonsky rok, 1.2.+ hodi aktualni rok */
Příspěvek byl publikován v rubrice Oracle SQL, User scripts. Můžete si uložit jeho odkaz mezi své oblíbené záložky.