Logo Platforma Edukacyjna - kursy do matury i egzaminów z informatyki

Daty: porównywanie i wyciąganie roku, miesiąca, dnia

W bazie „szkoła” data to tekst w zapisie RRRR-MM-DD. Taki zapis dobrze się sortuje i porównuje, a funkcje wyciągają z niego rok, miesiąc i dzień.

Najpierw teoria

Data to tekst RRRR-MM-DD

Rok stoi na początku, więc daty dobrze się sortują i porównują jak tekst.

strftime wyciąga z daty kawałek: %Y rok, %m miesiąc, %d dzień.

Wynik strftime to tekst, więc porównujesz go z tekstem w apostrofach.

2008%Yrok-03%mmiesiąc-14%ddzień
strftime('%m', data_urodzenia)'03'to tekst

Daty porównujesz jak tekst, w apostrofach. Wcześniejsza data jest „mniejsza”.

To zapytanie możesz zmienić: kliknij w nie, wpisz swoje i naciśnij Enter. Uczniowie odegrają Twoją wersję.

FROM uczniowie: 6 wierszy w szeregu. Każdy wiersz to jedna postać, a kartki pod nią to kolumny.

1/3
imienazwiskodata_urodzenia
OlaMazur2008-03-14
MajaKaczmarek2008-11-23
FilipGrabowski2008-01-30
SzymonMichalski2008-09-17
LenaKról2008-02-11
AntoniWieczorek2008-12-05

strftime('%m', data) wyciąga miesiąc, %Y rok, a %d dzień.

FROM uczniowie: 6 wierszy w szeregu. Każdy wiersz to jedna postać, a kartki pod nią to kolumny.

1/2
imienazwiskodata_urodzenia
OlaMazur2008-03-14
MajaKaczmarek2008-11-23
FilipGrabowski2008-01-30
SzymonMichalski2008-09-17
LenaKról2008-02-11
AntoniWieczorek2008-12-05

Wynik strftime to tekst, więc porównujesz go z tekstem: z '03', a nie z 3.

FROM uczniowie: 6 wierszy w szeregu. Każdy wiersz to jedna postać, a kartki pod nią to kolumny.

1/3
imienazwiskodata_urodzenia
OlaMazur2008-03-14
MajaKaczmarek2008-11-23
FilipGrabowski2008-01-30
SzymonMichalski2008-09-17
LenaKról2008-02-11
AntoniWieczorek2008-12-05

Sortowanie po miesiącu ustawia urodziny w kolejności, w jakiej przychodzą w roku.

FROM uczniowie: 6 wierszy w szeregu. Każdy wiersz to jedna postać, a kartki pod nią to kolumny.

1/3
imienazwiskodata_urodzenia
OlaMazur2008-03-14
MajaKaczmarek2008-11-23
FilipGrabowski2008-01-30
SzymonMichalski2008-09-17
LenaKról2008-02-11
AntoniWieczorek2008-12-05