PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Вземете деня от дата в PostgreSQL

В PostgreSQL можете да използвате extract() функция за получаване на деня от дата.

Можете също да използвате date_part() да направи същото.

Когато извличате деня от дата, трябва да посочите какъв смисъл на думата „ден“ имате предвид. Например „ден от седмицата“, „ден от месеца“, „ден от годината“ и т.н.

Пример 1:Ден от седмицата

Ето пример за използване на extract() функция за извличане на деня от седмицата от дата.

Използване на dow връща деня от седмицата като неделя (0) до събота (6).

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

Резултат:

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

В този пример върнах и името на деня, така че да няма объркване кой ден всъщност се връща.

Ще използвам същата дата за останалите примери, така че няма нужда да разпечатвам името на деня в тези примери.

Пример 2:ISO ден от седмицата

Използване на isodow връща деня от седмицата като понеделник (1) до неделя (7).

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

Резултат:

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

Причината да използвам неделя в тези примери е, защото подчертава разликата между isodow и dow .

Пример 3:Ден от месеца

Когато използвате timestamp или дата стойности, day връща деня от месеца (1 – 31).

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

Резултат:

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

При използване на интервали стойност, day поле води до броя дни, които се връщат.

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

Резултат:

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

Пример 4:Ден от годината

Използване на doy връща деня от годината (1 – 365/366).

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

Резултат:

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

Пример 5:Функцията date_part()

date_part() функцията може да се използва вместо extract() функция. Ето един пример.

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

Резултат:

 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. PostgreSQL - динамична стойност като име на таблица

  2. Динамична централна заявка с помощта на PostgreSQL 9.3

  3. Как да сравняваме масиви в PostgreSQL

  4. Най-добрите ресурси за обучение и обучение на PostgreSQL

  5. PostgreSQL изтрива цялото съдържание