Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fnissizaki

[Resolvido] Consultar um intervalo de horas dentro de um interval

Recommended Posts

Olá,

 

sou iniciante em MySQL e gostaria de uma ajuda.

 

eu tenho uma tabela com um campo do tipo Timestamp, e necessito efetuar uma consulta em que o usuário informe um intervalo de datas e um intervalo de horário e o resultado retorne os registros que estão dentro do intervalo de datas e dentro do horário programado.

 

Ex: o usuário digita no intervalo de datas "01/04/2009" até "05/04/2009" e no intervalo de horas "09:00:00" até "13:00:00" e tenho uma tabela com os seguintes registros:

ID Data

1 31/03/2009 18:00:00

2 01/04/2009 10:00:00

3 02/04/2009 15:00:00

4 03/04/2009 12:00:00

5 06/04/2009 08:00:00

 

Os registros que deveriam retornar do select seriam os ID's 2 e 4.

 

Grato!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

como tentou fazer?

 

a principio é usar um simples BETWEEN

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade sao dois betweens neh, um q você extrai soh a data com date() e outro q você extrai soh o tempo com time()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente, obrigado por responderem.

 

Consegui da forma que o giesta sugeriu usando um DATE() e um TIME(). http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

abaixo o código que utilizei.

 

select * from tabela
where 
	DATE(Data) BETWEEN STR_TO_DATE('01/04/2009', '%d/%m/%Y') AND STR_TO_DATE('05/04/2009', '%d/%m/%Y')
	AND TIME(Data) BETWEEN time('09:00:00') AND TIME('13:00:00')

Muito Obrigado pela força!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.