sobota, 25 stycznia 2014

SQL,PL/SQL - Data - Oracle 10/11 cz.9

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; 










Brak komentarzy:

Prześlij komentarz