PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Obter o dia de uma data no PostgreSQL


No PostgreSQL você pode usar o extract() função para obter o dia de uma data.

Você também pode usar date_part() para fazer a mesma coisa.

Ao extrair o dia de uma data, você precisa especificar o sentido da palavra “dia” que você quer dizer. Por exemplo, “dia da semana”, “dia do mês”, “dia do ano”, etc.


Exemplo 1:dia da semana


Aqui está um exemplo de uso do extract() função para extrair o dia da semana de uma data.

Usando dow retorna o dia da semana como domingo (0) a sábado (6).
SELECT 
  extract(dow from date '2020-12-27') AS "Day of week",
  to_char(date '2020-12-27', 'Day') AS "Day Name";

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

Neste exemplo, também retornei o nome do dia, para que não haja confusão sobre qual dia está realmente sendo retornado.

Usarei a mesma data para os exemplos restantes, então não há necessidade de imprimir o nome do dia nesses exemplos.

Exemplo 2:dia da semana ISO


Usando isodow retorna o dia da semana como segunda-feira (1) a domingo (7).
SELECT extract(
    isodow from date '2020-12-27'
    ) AS "ISO Day of week";

Resultado:
 ISO Day of week 
-----------------
               7

A razão pela qual usei o domingo nesses exemplos é porque ele destaca a diferença entre isodow e dow .

Exemplo 3:dia do mês


Ao usar carimbo de data e hora ou data valores, day retorna o dia do mês (1 – 31).
SELECT extract(
    day from date '2020-12-27'
    ) AS "Day of month";

Resultado:
 Day of month 
--------------
           27

Ao usar um intervalo valor, o day campo resulta no número de dias que está sendo retornado.
SELECT extract(
    day from interval '32 weeks'
    ) AS "Number of days";

Resultado:
 Number of days 
----------------
            224

Exemplo 4:dia do ano


Usando doy retorna o dia do ano (1 – 365/366).
SELECT extract(
    doy from date '2020-12-27'
    ) AS "Day of year";

Resultado:
 Day of year 
-------------
         362

Exemplo 5:A função date_part()


O date_part() função pode ser usada no lugar do extract() função. Aqui está um exemplo.
SELECT date_part(
    'doy', timestamp '2020-12-27'
    ) AS "Day of year";

Resultado:
 Day of year 
-------------
         362