W PostgreSQL funkcja date_part() funkcja pobiera podpola, takie jak rok, miesiąc, godzina lub minuta, część z wartości daty/czasu.
Jest to odpowiednik extract() funkcja, chociaż z nieco inną składnią.
Składnia
Funkcja ma następującą składnię:
date_part('field', source) Gdzie:
'field'dotyczy części daty, którą chcesz pobrać. Ten parametr musi być wartością ciągu, a nie nazwą. Zobacz poniżej listę prawidłowych nazw pól.sourceto sygnatura czasowa lub przedział z którego chcesz pobrać część dotyczącą daty.
Przykład – znacznik czasu
Oto podstawowy przykład pokazujący, jak pobrać pole z sygnatury czasowej .
SELECT date_part('hour', timestamp '2020-09-16 22:33:15'); Wynik:
22
Ten przykład pobiera pole godziny z sygnatury czasowej wartość.
Tutaj znowu, ale tym razem pobieram pole roku.
SELECT date_part('year', timestamp '2020-09-16 22:33:15'); Wynik:
2020
Przykład — interwał
W tym przykładzie pobieram część daty z przedziału wartość.
SELECT date_part('hour', interval '5 hours 30 minutes'); Wynik:
5
W następnym przykładzie funkcja poprawnie zwraca liczbę godzin, mimo że podaję tylko liczbę minut.
SELECT date_part('hour', interval '120 minutes'); Wynik:
2
Nie licz jednak na tę technikę. Może się okazać, że nie zawsze uzyskujesz oczekiwane rezultaty.
Na przykład:
SELECT date_part('hour', interval '100 minutes'); Wynik:
1
I jeszcze:
SELECT date_part('minute', interval '2 hours'); Wynik:
0
Nazwy pól
Pierwszym argumentem może być dowolny z następujących:
centurydaydecadedowdoyepochhourisodowisoyearmicrosecondsmillenniummillisecondsminutemonthquartersecondtimezonetimezone_hourtimezone_minuteweekyear