Musisz zrobić Kwerendę, np taką:
- Kod: Zaznacz cały Rozszerz widokZwiń widok
SELECT "NazwaTabeli".* FROM "NazwaTabeli"
where CAST("data" as DATE) Between '2020-05-19' and '2020-05-21'
wyjaśnienie kodu:
SELECT "NazwaTabeli".* FROM "NazwaTabeli" - Wyświetl wszystkie pola z tabeli "NazwaTabeli"
where - gdy
"data" jest to pole z twoim znacznikiem czasu: 2020-05-25 18:00:00
CAST("data" as DATE) - zmienia twój znacznik czasu na wartość typowo datową (pozbywasz się czasu) - uzyskasz 2020-05-25
Between '2020-05-20' and '2020-05-22' - twój znacznik czasu ma być z tego przedziału tutaj ustaliłem go na "sztywno"
Wstawienie daty dzisiejszej nie jest problemem - wystarczy użyć polecenia CURDATE() lub CURRENT_DATE.
wyświetlenie rekordów od-do jakieś daty do-od dzisiejszej też nie jest problemem, wystarczy zastosować polecenie:
- Kod: Zaznacz cały Rozszerz widokZwiń widok
SELECT "NazwaTabeli".* FROM "NazwaTabeli"
where DATEDIFF( 'dd', CAST( "data" AS DATE ), CURDATE( ) ) < 5
gdzie:
DATEDIFF - zwraca liczbę jednostek czasu, które upłynęły od CAST( "data" AS DATE ) do daty dzisiejszej. Jednostkę czasu określam tekstem: 'dd' - to oznacza dzień, tu taj wybrałem że interesują mnie daty z przedziału ostatnich 5 dni
Data jutrzejsza, jest problemem bo takiej funkcji nie ma. Myślę, że można by to rozwiązać przy pomocy funkcji DAYOFYEAR (data) - zwraca dzień roku (1-366), sprawdzam...
O tak, działa - wybrałem daty od wczoraj do jutra:
- Kod: Zaznacz cały Rozszerz widokZwiń widok
WHERE DAYOFYEAR( "data" ) BETWEEN DAYOFYEAR( CURRENT_DATE ) - 1 AND DAYOFYEAR( CURRENT_DATE ) + 1
Lub inaczej
- Kod: Zaznacz cały Rozszerz widokZwiń widok
WHERE DAYOFYEAR( "data" ) - DAYOFYEAR( CURRENT_DATE ) BETWEEN - 1 AND 1
Zostawiam Tobie sprawdzenie jak zachowa się ten warunek 31 grudnia lub 1 stycznia...