poniedziałek, 13 marca 2017

Lekcja 13. Składowanie oraz przetwarzanie dat i czasu.

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