PostgreSQL CURRENT_DATE
As funções de data do PostgreSQL permitem que você manipule e recupere valores de data de forma eficaz. A função `CURRENT_DATE`, em particular, retorna a data atual de acordo com o fuso horário e o relógio do sistema.
Uso
A função `CURRENT_DATE` é utilizada para obter a data atual em um banco de dados PostgreSQL. É frequentemente empregado em consultas que precisam filtrar, comparar ou atualizar registros com base na data de hoje.
SELECT CURRENT_DATE;
Nessa sintaxe, `CURRENT_DATE` obtém a data atual do servidor de banco de dados. Observe que `CURRENT_DATE` é equivalente a `CURRENT_DATE::date` e não inclui o componente de tempo, o que é importante ao comparar datas com registros de data e hora.
Exemplos
1. Recuperar a data atual
SELECT CURRENT_DATE;
Essa consulta simples retorna a data atual do relógio do sistema do banco de dados, normalmente no formato `YYYY-MM-DD`.
2. Filtragem de dados com CURRENT_DATE
SELECT order_id, order_date
FROM orders
WHERE order_date = CURRENT_DATE;
Essa consulta recupera os pedidos feitos na data atual, filtrando efetivamente os resultados para mostrar apenas os pedidos de hoje.
3. Cálculo da idade
SELECT name, birth_date, CURRENT_DATE - birth_date AS age
FROM employees;
Neste exemplo, a consulta calcula a idade dos funcionários subtraindo a data de nascimento da data atual.
Dicas e práticas recomendadas
- Use CURRENT_DATE para padronização. Isso garante a consistência nas consultas que precisam fazer referência à data atual.
- Combine com fusos horários. Esteja ciente dos fusos horários para evitar discrepâncias, especialmente em sistemas distribuídos. Os resultados de `CURRENT_DATE` dependem das configurações de fuso horário do servidor do banco de dados.
- Utilize em comparações de datas. Use `CURRENT_DATE` para filtrar registros dinamicamente com base na data atual para análise de dados em tempo real.
- Aproveitamento para automação. Implemente `CURRENT_DATE` em relatórios automatizados ou atualizações de dados para garantir que eles sempre reflitam os dados mais recentes.
- Comportamento da transação. O `CURRENT_DATE` é avaliado no início de uma transação e permanece constante durante toda a sua duração. Isso pode ser particularmente útil para usuários que trabalham com transações de longa duração.