Archiwa tagu: now

PostgreSQL. Jak korzystać z interwałów czasowych?

Często w zapytaniach SQL które tworzymy zachodzi potrzeba skorzystania z jakiegoś interwału czasowego a nie wskazywania konkretnych dat. Np. za każdym razem kiedy uruchomię zapytanie w styczniu, marciu czy czerwcu, chcę żeby zapytanie za każdym razem kiedy się uruchoim brało pod uwagę rok wstecz.

I tutaj z pomocą przychodzą interwały. Np. chcemy żeby zapytanie wyświetliło nam wszystkie zdarzenia (np. tabela "events") gdzie data utworzenia tego zdarzenia ("createion_date") była rok wstecz.

Możemy to zrobić np. tak:

 

SELECT *

FROM events

WHERE events.creation_date BETWEEN NOW() – INTERVAL '1 year' AND NOW()

 

Jak wynika z powyższego słówkiem "INTERVAL" określamy interwał czasowy który nas interesuje. W przykładzie jest 1 rok ale oczywiście możemy użyć także "month", "day" itd.

Widzisz, że w bardzo prosty sposob można swoje zapytania tworzyć w bardziej uniwersalny sposób.

SQL NOW() function

SQL NOW() function


    


DEFINICJA

Funkcja NOW() zwraca aktualną datę i godzinę (systemową). Funkcja często wykorzystywana do obliczania różnic między aktualną datą a datą z przeszłości.
!!! UWAGA !!! funkcja NOW() nie występuje we wszystkich środowiskach bazodanowych np. nie jest rozpoznawalna w SQL SERVER-ze i przy próbie jej zastosowania otrzymamy komunikat "'NOW' is not a recognized built-in function name.". Odpowiednikiem funkcji NOW() w SQL SERVER-ze jest funkcja GETDATE().

SQL NOW() składnia funkcji

SELECT
    NOW()

wynik powyższego zapytania na bazie MySQL (PhpMyAdmin)

sql now function sql course tutorial practical exercises