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