Archive for listopad, 2007

SQL: Dodaj lub odejmij miesiąc (ADD_MONTHS)

wtorek, listopad 13th, 2007

Funkcja SQL ADD_MONTHS(d,n) dodaje do daty d zadaną ilość miesięcy. Gdy n jest liczbą ujemną, to funkcja ADD_MONTS odejmuje zadaną ilość miesięcy.

Należy podkreślić, że gdy d jest ostatnim dniem miesiąca lub miesiąc wynikowy ma mniej dni niż miesiąc daty wynikowej, zwracany jest ostatni dzień miesiąca.

Poniższy przykład pokazuje działanie funkcji ADD_MONTHS dla dat w na początku, w  środku i na końcu miesiąca:

alter session set nls_date_format = 'YYYY-MM-DD'
/

select d "Data", add_months(d,1) "Data+1m", add_months(d,-1) "Data-1m" from
(
select '2007-09-01' d from dual union all
select '2007-09-05' d from dual union all
select '2007-09-30' d from dual union all
select '2007-10-31' d from dual
)
/


Data       Data+1m    Data-1m
---------- ---------- ----------
2007-09-01 2007-10-01 2007-08-01
2007-09-05 2007-10-05 2007-08-05
2007-09-30 2007-10-31 2007-08-31
2007-10-31 2007-11-30 2007-09-30

SQL: Kolejne liczby, daty, napisy

środa, listopad 7th, 2007