Marcinie, po co takie funkcje? To tylko na pozór zabawne
rozwiązanie.
Zgodnie z
dokumentacją cyt:
"The Oracle/PLSQL LAST_DAY function returns the last day
of the month based on a date value"
Funkcja zwraca dla danej daty ostatni dzień miesiąca, czyli
last_day( 14 maja 2015) da wynik 31 maja 2015 roku, i po co to ?
Oczywiście można w ten sposób uzupełnić formatowanie, to
jest jeżeli masz tylko miesiąc i rok to możesz dopisać ostatni dzień miesiąca,
czasami tak trzeba, taki jest wymóg.
Jednak w mojej praktyce wykorzystanie tej funkcji jest zgoła
inne. Bardzo często mam do czynienia z tak zwanymi kostkami danych, które
mają zebrane stany dzienne, w hurtowni codziennie gromadzone są dane i są
datowane. Przetwarzanie ogromnych zbiorów danych z jednej strony wymaga zasobów
(siły maszyny), Twego oczekiwania (czasu)
i na wykresach też tylko punkty się prezentuje. Innymi słowy wystarczą
stany na koniec miesiąca, by dane ograniczyć, tylko skoncentrować się na
końcach miesięcy wystarczy prosty trik sprowadzający się do tego by dane
z tabeli, datowane na dzień DATA_DANYCH sprawdzać, czy to jest właśnie
koniec miesiąca, czyli
czy last_day ( DATA_DANYCH )
= DATA_DANYCH,
jeżeli tak, to analizuję, biorę dane z rekordu do obliczeń,
jak nie to pomijam. I bez takiego wsparcia analityk danych by padł*
To samo na obrazkach i przykład do poćwiczenia pod linką.
W.
*Analityk
danych oczywiście by nie padł, bo nie taka przecież jego natura, nie poddaje
się tak łatwo... Jest jak japoński poborca podatkowy. Analityk danych na
przykład utworzyłby sobie tabelę, do
której by zapisywał daty końca miesięcy i porównywałby sobie datę danych z
datą pobieraną z utworzonej przez siebie dodatkowej tabeli, z ręki wpisał daty,
może jeszcze inaczej.
Przydało się :-)
OdpowiedzUsuń