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

Pobierz dzień z daty w PostgreSQL

W PostgreSQL możesz użyć extract() funkcja, aby uzyskać dzień od daty.

Możesz także użyć date_part() zrobić to samo.

Wyodrębniając dzień z daty, musisz określić, jakie znaczenie ma na myśli słowo „dzień”. Na przykład „dzień tygodnia”, „dzień miesiąca”, „dzień roku” itp.

Przykład 1:Dzień tygodnia

Oto przykład użycia extract() funkcja wyodrębniania dnia tygodnia z daty.

Korzystanie z dow zwraca dzień tygodnia od niedzieli (0) do soboty (6).

SELECT 
  extract(dow from date '2020-12-27') AS "Day of week",
  to_char(date '2020-12-27', 'Day') AS "Day Name";

Wynik:

 Day of week | Day Name  
-------------+-----------
           0 | Sunday   

W tym przykładzie zwróciłem również nazwę dnia, aby nie było nieporozumień co do tego, który dzień jest faktycznie zwracany.

W pozostałych przykładach użyję tej samej daty, więc nie ma potrzeby drukowania nazwy dnia w tych przykładach.

Przykład 2:Dzień tygodnia ISO

Używanie isodow zwraca dzień tygodnia od poniedziałku (1) do niedzieli (7).

SELECT extract(
    isodow from date '2020-12-27'
    ) AS "ISO Day of week";

Wynik:

 ISO Day of week 
-----------------
               7

Powodem, dla którego użyłem Sunday w tych przykładach, jest to, że podkreśla różnicę między isodow i dow .

Przykład 3:Dzień miesiąca

Gdy używasz sygnatury czasowej lub data wartości, day zwraca dzień miesiąca (1 – 31).

SELECT extract(
    day from date '2020-12-27'
    ) AS "Day of month";

Wynik:

 Day of month 
--------------
           27

Podczas korzystania z przedziału wartość, day pole powoduje zwrócenie liczby dni.

SELECT extract(
    day from interval '32 weeks'
    ) AS "Number of days";

Wynik:

 Number of days 
----------------
            224

Przykład 4:Dzień roku

Korzystanie z doy zwraca dzień roku (1 – 365/366).

SELECT extract(
    doy from date '2020-12-27'
    ) AS "Day of year";

Wynik:

 Day of year 
-------------
         362

Przykład 5:Funkcja date_part()

date_part() funkcja może być użyta zamiast extract() funkcjonować. Oto przykład.

SELECT date_part(
    'doy', timestamp '2020-12-27'
    ) AS "Day of year";

Wynik:

 Day of year 
-------------
         362

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zarejestruj się i uruchom PostgreSQL 9.0 jako usługę Windows

  2. Grupuj wyniki zapytań według miesiąca i roku w postgresql

  3. Jak stworzyć widok w PostgreSQL

  4. Jak korzystać z kontenera PostgreSQL z istniejącymi danymi?

  5. Jak make_time() działa w PostgreSQL