Informix SQL – UNITS czyli operacje na datach: dodawanie, odejmowanie dni, miesięcy i lat
Funkcja UNITS
umożliwia nam dodanie, bądź odjęcie od podanej daty wskazanej liczby dni, miesięcy czy lat.
Przejdźmy zatem do przykładów, biorąc pod uwagę, że TODAY
zwraca nam: 27-01-2021. Zamiast today możemy podać dowolną datę: np. TO_DATE("04-02-1920","%d-%m-%Y")
DAY
select today + 10 units day from sysdual
Zwróci nam datę 06-02-2021, czyli today powiększone o 10 dni
select today - 10 units day from sysdual
Zwróci nam datę 17-01-2021, czyli today pomniejszone o 10 dni
MONTH
select today + 10 units month from sysdual
Zwróci nam datę 27-11-2021, czyli today powiększone o 10 miesięcy
select today - 10 units month from sysdual
Zwróci nam datę 27-03-2020, czyli today pomniejszone o 10 miesięcy
YEAR
select today + 10 units year from sysdual
Zwróci nam datę 27-01-2031, czyli today powiększone o 10 lat
select today - 10 units year from sysdual
Zwróci nam datę 27-01-2011, czyli today pomniejszone o 10 lat
Wszystkie te trzy parametry DAY
, MONTH
i YEAR
możemy łączyć, np:
select today + 1 units day - 2 units year - 10 units year month from sysdual
Czyli od dnia dzisiejszego: 27-01-2021 dodajemy 1 dzień, odejmujemy 2 lata i 10 miesięcy i otrzymujemy datę: 28-01-2009
lub dla wybranej daty:
select TO_DATE("04-02-1920","%d-%m-%Y") + 1 units day - 10 units month - 2 units year from sysdual
otrzymamy: 05-04-1917