В PostgreSQL, date_part() функцията извлича подполета като година, месец, час или минута, част от стойност за дата/час.
Това е еквивалентно на extract() функция, макар и с малко по-различен синтаксис.
Синтаксис
Функцията има следния синтаксис:
date_part('field', source) Къде:
'field'е за частта от датата, която искате да извлечете. Този параметър трябва да бъде стойност на низ, а не име. Вижте по-долу за списък с валидни имена на полета.sourceе времево клеймо или винтервала от която искате частта с датата да бъде извлечена.
Пример – Timestamp
Ето основен пример, за да демонстрирате как да извлечете поле от времево клеймо .
SELECT date_part('hour', timestamp '2020-09-16 22:33:15'); Резултат:
22
Този пример извлича полето за час от timestamp стойност.
Ето го отново, но този път извличам полето за годината.
SELECT date_part('year', timestamp '2020-09-16 22:33:15'); Резултат:
2020
Пример – Интервал
В този пример извличам част от дата от интервал стойност.
SELECT date_part('hour', interval '5 hours 30 minutes'); Резултат:
5
В следващия пример функцията връща правилно броя на часовете, въпреки че предоставям само броя на минутите.
SELECT date_part('hour', interval '120 minutes'); Резултат:
2
Въпреки това, не разчитайте на тази техника. Може да откриете, че не винаги получавате резултата, който очаквате.
Например:
SELECT date_part('hour', interval '100 minutes'); Резултат:
1
И още едно:
SELECT date_part('minute', interval '2 hours'); Резултат:
0
Имена на полета
Първият аргумент може да бъде някой от следните:
centurydaydecadedowdoyepochhourisodowisoyearmicrosecondsmillenniummillisecondsminutemonthquartersecondtimezonetimezone_hourtimezone_minuteweekyear