"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 > Como selecionar dados corretamente entre duas datas no MySQL?

Como selecionar dados corretamente entre duas datas no MySQL?

Publicado em 2024-11-26
Navegar:540

How to Properly Select Data Between Two Dates in MySQL?

Selecionando dados de um banco de dados MySQL entre duas datas

No MySQL, recuperar dados dentro de um intervalo de datas específico apresenta um desafio comum ao armazenar datas como valores de data e hora. O uso dos operadores >= e

Considere o cenário em que você deseja selecionar registros onde a coluna criada_at fica entre ' 01-12-2011' e '06-12-2011.' A execução da consulta a seguir excluirá surpreendentemente o registro esperado que ocorreu em '2011-12-06 10:45:36':

SELECT `users`.* FROM `users` 
WHERE created_at >= '2011-12-01' 
AND created_at 

O motivo é que o MySQL interpreta a data de término como meia-noite ('2011-12-06 00:00:00'), efetivamente excluindo registros criados posteriormente naquele dia . Para selecionar o registro pretendido, modifique a data de término para '2011-12-07':

SELECT `users`.* FROM `users` 
WHERE created_at >= '2011-12-01' 
AND created_at 

Como alternativa, use DATE_ADD() para adicionar dias à data de início, criando um intervalo que inclua a data de término desejada:

SELECT `users`.* FROM `users` 
WHERE created_at >= '2011-12-01' 
AND created_at 

Para melhorar a legibilidade, o operador BETWEEN pode ser utilizado:

SELECT `users`.* FROM `users` 
WHERE created_at BETWEEN('2011-12-01', DATE_ADD('2011-12-01', INTERVAL 7 DAY))

Ao ajustar a data de término ou empregar a função DATE_ADD(), você pode selecionar com precisão dados do intervalo de datas especificado, garantindo que todos os registros criados na data final pretendida sejam capturados.

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