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.source
to 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:
century
day
decade
dow
doy
epoch
hour
isodow
isoyear
microseconds
millennium
milliseconds
minute
month
quarter
second
timezone
timezone_hour
timezone_minute
week
year