Oi Tamer! Como vao as coisas no planalto?

Seguinte: voce soh precisa fazer a query um pouquinho diferente. Vamos supor
que seus evetos estejam numa tabela EVENTOS, com um campo NOME VARCHAR), um
campo INICIO (DATE) e um campo FIM (DATE). A data que o "camarada" pesquisa
vou chamar de data_pesquisada. Sua pesquisa poderia ser assim:

SELECT NOME
FROM EVENTOS
WHERE INICIO <= :data_pesquisada
AND FIM >= :data_pesquisada

Essa query leva em consideracao o horario tambem (se o cara diz 11-10-2000,
implicitamente estah dizendo meia-noite; entao um evento cadastrado em
11-10-2000 05:00:00 nao aparece no resultado. Se quiser comparar somente as
datas, faca assim (estou me baseando no Oracle, outros SGBDs podem usar
outra funcao no lugar de to_char, mas alguma funcao equivalente deve
existir):

SELECT NOME
FROM EVENTOS
WHERE to_char(INICIO,'YYYYMMDD') <= to_char(:data_pesquisada,'YYYYMMDD')
AND to_char(FIM,'YYYYMMDD') >= to_char(:data_pesquisada,'YYYYMMDD')

a ordem YYYYMMDD eh importante porque, neste caso, a comparacao eh de
strings, nao de datas...

Boa sorte,

Renato L. Rissardi
[EMAIL PROTECTED]


> -----Original Message-----
> From: tamer [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, August 09, 2000 8:18 AM
> To: [EMAIL PROTECTED]
> Subject: [java-list] ??pesquisa ENTRE datas??
>
>
> pessoal,
> nao tem muito a ver com java mas eh o seguinte.
> fiz um sistema que cadastra eventos.
> os eventos tem uma data inicial e uma final.
> no b.d. tenho estes dois campos.
> o problema eh quando um usuario deseja fazer uma pesquisa por
> data, para
> saber a existencia de um evento em uma determinada data
> escolhida por ele.
>
> exemplo: evento x
> inicio 10-10-2000
> termino 15-10-2000
>
> se o camarada fizer uma pesquisa por eventos na data
> 11-10-2000 ele nao
> tera um resultado.
>
> como poderei implementar um sistema de pesquisa entre datas??
>
> armazenar no banco, em cada evento, todos os dias de um intervalo?
> teria outra forma de pesquisa?
>
> alguma ideia ??
>
> obrigado!
>
>
>
> ___________________________________________________________________
> Tamer Americo - Mestrando em Redes - Universidade de Brasilia
> [EMAIL PROTECTED] - ICQ#3221276
>
> "When we are young / Wandering the face of the earth
> Wondering what our dreams might be worth / Learning that
> we're only immortal
> For a limited time" (Dreamline - Rush)
> ____________________________________________________________________
>
> ------------------------------ LISTA SOUJAVA
> ----------------------------
> http://www.soujava.org.br  -  Sociedade de Usuarios Java da Sucesu-SP
> dzvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para
> [EMAIL PROTECTED]
> --------------------------------------------------------------
> -----------


------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP 
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a