Existe uma maneira em uma instrução MySQL para ordenar registros (através de um carimbo de data) por> = NOW () -1 para que todos os registros de um dia antes de hoje para o futuro sejam selecionados?
138
A julgar pela documentação das funções de data / hora , você poderá fazer algo como:
SELECT * FROM FOO
WHERE MY_DATE_FIELD >= NOW() - INTERVAL 1 DAY
Esteja ciente de que o resultado pode ser um pouco diferente do esperado.
NOW()
retorna umDATETIME
.E
INTERVAL
funciona como nomeado, por exemploINTERVAL 1 DAY = 24 hours
.Portanto, se seu script estiver programado para rodar
03:00
, ele perderá ofirst three hours of records from the 'oldest' day
.Para obter o dia inteiro, use
CURDATE() - INTERVAL 1 DAY
. Isso voltará ao início do dia anterior, independentemente de quando o script for executado.fonte
Você está quase lá: é
NOW() - INTERVAL 1 DAY
fonte
Certamente você pode:
fonte
DATE_ADD
então-1 day
.Não encontrou nenhuma resposta corretamente usando
DATE_ADD
ouDATE_SUB
:Subtrair 1 dia de
NOW()
Adicione 1 dia a partir de
NOW()
fonte
quando o campo de pesquisa é o carimbo de data e hora e você deseja encontrar registros de 0 horas ontem e 0 horas hoje, use construction
em vez de
fonte