PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak działa date_part() w PostgreSQL

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zwiększyć maksymalną liczbę połączeń w postgresie?

  2. Jak zaimplementować relację wiele-do-wielu w PostgreSQL?

  3. Jak skopiować z pliku CSV do tabeli PostgreSQL z nagłówkami w pliku CSV?

  4. Entity Framework core — zawiera czy wielkość liter jest rozróżniana lub wielkość liter nie jest rozróżniana?

  5. Jak wygenerować unikalny ciąg na rekord w tabeli w Postgresie?