PostgreSQL DATE
As funções de data do PostgreSQL são usadas para manipular e extrair informações de valores de data e hora, especificamente aqueles de tipos como date, timestamp e interval. Essas funções ajudam a realizar operações como cálculo de intervalos, extração de partes de uma data e formatação de datas.
Uso
As funções de data no PostgreSQL são utilizadas quando você precisa realizar cálculos ou extrair componentes específicos de dados de data e hora. Eles são essenciais para tarefas como relatórios, agendamento e análise de dados com base no tempo.
SELECT function_name(date_column)
FROM table_name;
Nessa sintaxe, function_name representa uma função de data específica aplicada a date_column para realizar a operação desejada.
Exemplos
1. Extraindo o ano
SELECT EXTRACT(YEAR FROM order_date) AS order_year
FROM orders;
Este exemplo usa a função EXTRACT com a sintaxe EXTRACT(field FROM source) para recuperar o componente ano da coluna order_date, retornando-o como order_year. EXTRACT também pode ser usado para outros componentes, como mês, dia, hora etc.
2. Adicionando dias a uma data
SELECT order_date + INTERVAL '10 days' AS new_date
FROM orders;
Essa sintaxe demonstra como adicionar 10 dias a cada order_date, resultando em uma nova data chamada new_date. Aqui, INTERVAL é um tipo de dados específico usado para lidar com intervalos de tempo.
3. Cálculo de diferenças de datas
SELECT age(delivery_date, order_date) AS delivery_duration
FROM orders;
Aqui, a função age calcula a diferença entre delivery_date e order_date, retornando a duração como delivery_duration. Observe que AGE retorna um formato de intervalo, que pode precisar de conversão para exibição ou cálculos adicionais.
Dicas e práticas recomendadas
- Use as funções apropriadas. Escolha a função de data correta com base na operação específica que você precisa realizar, como
AGEpara diferenças ouEXTRACTpara peças. - Formate as datas para facilitar a leitura. Use funções como
TO_CHARpara converter datas em formatos legíveis por humanos quando necessário. - Otimizar os cálculos de data. Aproveite as colunas de data indexadas para fazer consultas mais rápidas, especialmente ao filtrar ou unir tabelas.
- Tenha em mente os fusos horários. Ao trabalhar com carimbos de data e hora, certifique-se de que você considera os fusos horários para evitar discrepâncias, usando funções como
AT TIME ZONE. - Lidar com anos bissextos e horário de verão. Leve isso em conta nos cálculos para garantir a precisão.
- Use
date_truncpara truncar datas. Essa função é útil para agrupar datas por mês, trimestre, etc.
Funções adicionais de data
NOW(): Retorna a data e a hora atuais.CURRENT_DATE: Retorna a data atual.JUSTIFY_DAYS: Ajusta os intervalos para normalizar dias e meses.
Essas e outras funções aumentam a versatilidade da manipulação de data e hora no PostgreSQL, permitindo a análise e o gerenciamento abrangentes de dados.