PostgreSQL: DATE_TRUNC

Como retornar o primeiro ou o último dia de um mês/ano


A função DATE_TRUNC do Postgres pode nos ajudar a “truncar” uma data, bem, mas o que isso quer dizer? É simples, ela retorna a data inicial de um intervalo especificado.

Bem, então vamos a sintaxe:

DATE_TRUNC('intervalo', origem_timestamp)

Onde a origem_timestamp é um campo do tipo TIMESTAMP ou INTERVAL (aceita também campos DATE e TIME, que são convertidos automaticamente).

E o intervalo aceita os seguintes valores: microseconds, milliseconds, second, minute, hour, day, week, month, quarter, year, decade, century ou millennium.

Abaixo, alguns exemplos:

https://gist.github.com/mkober7/705ebc94d6aef9ea2009