"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que só estou obtendo dados dos últimos cinco dias quando minha consulta solicita especificamente os últimos sete?

Por que só estou obtendo dados dos últimos cinco dias quando minha consulta solicita especificamente os últimos sete?

Publicado em 2024-11-16
Navegar:566

Why am I only getting data from the last five days when my query specifically asks for the last seven?

Recuperando a eficiência dos dados dos últimos 7 dias

Ao transferir dados do SQL Server para o MySQL, é essencial filtrar apenas os dados relevantes. Neste caso, extrair os dados dos últimos sete dias é crucial. No entanto, uma consulta SQL fornecida produziu resultados inesperados.

Problema: dados ausentes

A consulta, que utilizou GETDATE()-7 AND GETDATE() para filtrar dados, recuperou apenas cinco dias de resultados. Essa discrepância requer exploração.

Solução: cálculo de data adequada

Para SQL Server, GETDATE() retorna a data e hora atuais. No entanto, o cálculo de sete dias atrás requer um ajuste para levar em conta os fusos horários e o horário de verão. Para resolver isso, DATEADD(day,-7, GETDATE()) é empregado. DATEADD() adiciona um número especificado de dias (neste caso, -7) à data atual, garantindo a recuperação precisa dos dados até os últimos sete dias completos.

Portanto, a consulta corrigida deve ser:

SELECT id, NewsHeadline as news_headline, NewsText as news_text, state CreatedDate as created_on
FROM News
WHERE CreatedDate >= DATEADD(day,-7, GETDATE())

Esta consulta modificada capturará efetivamente os dados desejados de sete dias e resolverá a discrepância experimentada anteriormente.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3