Oracle daje nam możliwość wykorzystania wbudowanych funkcji, jedną z nich jest ta dotycząca dat.
W bazie istnieje tabela o nazwie DUAL, z której możemy w czasie rzeczywistym pobierać dane dotyczące naszej bazy. Na dacie możemy również wykonywać obliczenia dokładnie tak samo jak na zwykłych liczbach.

Możemy pokazać obecną datę (RRRR/MM/DD) przy pomocy:

SELECT sysdate FROM DUAL;



Poniższe zapytanie w wyniku poda nam zaokrągloną wartość reprezentującą różnicę w latach pomiędzy dzisiejszą datą, a datami kolejnych wierszy w kolumnie hire_date z tabeli employees:

SELECT ROUND(((SELECT sysdate FROM DUAL)-(hire_date))/366) AS „Róźnica w latach” FROM employees;






Do obecnej daty możemy również dodać potrzebną nam liczbę dni:

SELECT sysdate + 30 FROM DUAL;



Następną funkcją jest MONTHS_BETWEEN, która pokazuje różnicę liczoną w miesiącach pomiędzy datami podanymi jako parametr:

SELECT MONTHS_BEETWEN (’14/12/01′,’14/01/01′) AS „Różnica w miesiącach” FROM employees;



Tak jak dodaliśmy do daty n-dni, możemy dodać również n-miesięcy:

SELECT  ADD_MONTHS (’24/01/14′,10) AS „Dodaj miesiące” FROM DUAL;




Możemy również funkcją sprawdzić ile dni ma miesiąc którego data została podana jako parametr:

SELECT LAST_DAY(SYSDATE) AS „Ostatni dzień miesiąca” FROM DUAL;

Przy pomocy to_date możemy zmienić datę w postaci ciągu znaków na datę zgodną z wzorcem podaną jako drugi parametr:
SELECT to_date(‚2014/01/24′,’yyy/mm/dd’) FROM DUAL; 



Dodaj komentarz

Twój adres email nie zostanie opublikowany.

Droga Administratora IT.