Jeśli wpiszesz daty urodzenia osób w LibreOffice Base, program może obliczyć, ile lat dana osoba ma w tym roku. Pokażemy Ci, jak to działa.
Jak stworzyć listę urodzin w LibreOffice Base
Jeśli wpiszesz daty urodzenia osób w LibreOffice Base, program może za Ciebie obliczyć, ile lat ma dana osoba w tym roku. Prosty wzór służy do odejmowania roku urodzenia od roku bieżącego. Nie jest to jednak szczególnie dokładne, ponieważ zgodnie ze zwykłą metodą liczenia rok życia danej osoby zmienia się w dniu jej urodzin. Dlatego musi to być uwzględnione we wzorze.
Początkowo formuła wyglądała następująco:
SELECT DATEDIFF ('rr', "Członkowie". "Data urodzenia", CURRENT_DATE) AS "Wiek" FROM "Członkowie"
Zmienna CURRENT_DATE zawsze zawiera aktualną datę. Dzięki funkcji DAYOFYEAR izolujemy dzień od daty i pomijamy rok. Robimy to z aktualną datą:
DAYOFYEAR (CURRENT_DATE)
… a także z datą urodzenia:
DAYOFYEAR („Członkowie”. „Data urodzenia”)
Następnie sprawdzamy, czy w tym roku jeszcze nadchodzą urodziny:
DAYOFYEAR („Członkowie”. „Data urodzenia”)> DAYOFYEAR (CURRENT_DATE)
Na koniec tworzony jest warunek za pomocą polecenia CASEWHEN. Jeśli data urodzin jest jeszcze w przyszłości, od obliczonego wieku odejmujemy rok:
- CASEWHEN (DAYOFYEAR („Członkowie”. „Data urodzenia”)> DAYOFYEAR (CURRENT_DATE), 1, 0)
Minus na samym początku to symbol arytmetyczny, a jedynka prawie na końcu jest odejmowana, jeśli wszystko pomiędzy ma zastosowanie. Gotowa formuła w końcu wygląda tak:
SELECT DATEDIFF ('rr', "Członkowie". "Data urodzenia", CURRENT_DATE) - CASEWHEN (DAYOFYEAR ("Członkowie"". "Data urodzenia")> DAYOFYEAR (CURRENT_DATE), 1, 0) AS "Wiek" FROM " Członkowie"