Firebird posiada zmienne systemowe, które przechowują
informacje o aktualnej dacie i aktualnym czasie.W poniższym zapytaniu użyto zmiennych systemowych, CURRENT_DATE
do pobrania aktualnej daty , CURRENT_TIME do pobrania aktualnej godziny oraz CURRENT_TIMESTAMP
do pobrania aktualnej daty i godziny :
CAST
Za pomocą funkcji CAST(napis
AS typ) możemy przekonwertować napis na wyrażenie typu DATE, TIME bądź też TIMESTAMP.
W poniższym zapytaniu użyto funkcji CAST()
do przekonwertowania napisów na wcześniej wymienione typy:
Alternatywnie można użyć składni typ napis:
Predefiniowane
literały
Firebird zawiera grupę predefiniowanych literałów – TODAY
(dzisiaj), NOW (teraz), YESTERDAY (wczoraj) i TOMORROW (jutro) – określających odpowiednie
daty. W poniższym zapytaniu możemy zobaczyć ich interpretację:
Operacje na datach
Odejmowanie
Wynikiem odejmowania dwóch dat jest liczba dni jakie
pomiędzy nimi występują. Poniższe zapytanie zwraca ilość dni pomiędzy 12 lipca
2015, a 12 lipca 2016:
Dodawanie
Do daty można również dodać wartość, która
interpretowana jest jako ilość dni. Wynikiem takiej operacji będzie data, która
wypada za podaną ilość dni. Poniższe zapytanie zwraca datę która wpada 10 dni
przed oraz 10 dni po 12 lipca 2015:
DATEADD
Funkcja DATEADD(ilość
jednostka TO typ) zwraca wyniki dodawania
lat/miesięcy/dni/godzin/minut/sekund albo milisekund do wartości data/czas. Jeżeli
ilość jest liczbą ujemną wtedy
funkcja zwraca wynik odejmowania. W poniższym zapytaniu użyto funkcji DATEADD() do wykonania operacji na
bieżącej dacie oraz bieżącej godzinie:
DATADIFF
Funkcja DATEDIFF(jednostka
typ1 TO typ2) zwraca liczbę lat/miesięcy/dni/godzin/minut/sekund albo
milisekund między wartościami data/czas. W poniższym zapytaniu użyto funkcji DATEDIFF() do wyznaczenia liczby lat, miesięcy,
dni, godzin, minut oraz sekund pomiędzy 12 lipca 2015, a 12 lipca 2016:
EXTRACT
Funkcja EXTRACT(część
FROM typ2) zwraca element daty/czasu. W poniższym zapytaniu użyto funkcji EXTRACT() do wydobycia z bieżącej daty
roku, miesiąca, dnia, godziny, minuty oraz sekundy:
Zakres rezultatów zwracanych przez funkcję EXTRACT
Brak komentarzy:
Prześlij komentarz