[RESOLVIDO] Between buscando um dia a menos

Rapazeada, tô precisando usar o BETWEEN, ele funciona de certa forma. Se eu tenho um cadastro na data de hoje, ele só vai me mostrar esse cadastro amanhã, um dia depois. Alguém sabe o porquê?

SELECT * FROM registrokm WHERE entrada BETWEEN '20/08/2018' AND '20/09/2018' ORDER BY id

Você registra a hora, também?

Registro, mas em outra coluna

E esse comportamento, de exibir apenas no próximo dia, ocorre com qualquer tipo de registro na sua tabela ou tem um comportamento específico? Por exemplo, qualquer registro hoje é exibido apenas amanhã, independente do horário que foi registrado?

Pergunto isso pois um rapaz aqui na empresa teve um problema com isso, todo registro pós 18hrs era exibido apenas no dia seguinte.

Que doidera… mas aqui eu tenho registros desde manhã até as 23, e nenhum tá sendo mostrado, pior que procurei na internet mas só tem tuto ensinando como usar o between

De qualquer forma, dá pra imaginar que talvez o between não pegue O DIA especifico, então ele termina “onde começa” o ultimo dia, não onde termina o dia (23h59m59s). Fez sentido?

Isso dá pra resolver adicionando um dia a mais. Talvez seja o comportamento que ele tá tendo. (faz tempo que não uso o between, mas acredito ser esse o problema)

Sim, pensei nisso de adicionar um dia também, mas achei que talvez isso prejudicaria o usuário ou seria uma gambizinha… Mas valeu cara, se eu conseguir algo posto o resultado aqui

Faça o teste com outra tabela e vê o comportamento do between. Se não retornar, é provavél que seja ele, se não, pode ter algo na tua tabela.

É, realmente era a coluna… Eu estava puxando a coluna que continha a data e a hora juntos. Coloquei só a data e funcionou, valeu cara!

hahahahaha sabia que tinha algo errado. Por nada, mano!

1 curtida