Desafio, como faço para pegar esse cara

Se eu tenho um cara que trabalhou de 21/09/08 a 06/10/08… e digamos que eu queira todo mundo que trabalhou entre 22/09/08 a 02/10/08…, concorda que ele trabalhou dentro do período que quis? o between??? não funciona nesse caso.

Como faço uma consulta em SQL para isso???

Você tem dois campos? Data início e data término?

SELECT * FROM FUNCIONARIOS WHERE DATAINICIO >= X AND DATATERMINO <= Y;

Isso não serve?

Mas você tem na tabela um campo timestamp ou varchar?
Se for timestamp e passar a data no formato ‘yyyy-MM-dd 00:00:00’ deve funcionar.

[]´s

Daniel

[quote=yorgan]Mas você tem na tabela um campo timestamp ou varchar?
Se for timestamp e passar a data no formato ‘yyyy-MM-dd 00:00:00’ deve funcionar.

[]´s

Daniel[/quote]
Eu ia mencionar isso. Se tiver hora (como ele disse, timestamp) tem que se preocupar com ela.

só time mesmo,… não tem hora…
repare que se você simular a consulta ele não pega

só se a data que ele trabalhou for maior ou igual a que passei, e se o termino for menor ou igual…

Vc tá dizendo que a instrução sql que o fiaux passou não funciona?

Desculpa ai, acho que agora entendi!!!

Carioca, tenta isso aqui:

select * from FUNCIONARIOS where DATAINICIO <= :minha data de termíno informada and DATATERMINO > :minha data de início informada;

flws

Boa tarde,

DT &gt; TO_DATE('yyyymmdd 00:00:00', 'yyyymmdd hh24:mi:ss')
AND   DT &lt; TO_DATE('yyyymmdd 23:59:59', 'yyyymmdd hh24:mi:ss')

Abraços!

Funcionou nem no caso que apresentei acima…

Não entendi, pq o exemplo do fiaux não funciona? Pode ser que eu esteja me passando em alguma coisa, mas não peguei a idéia não…

Alberto

Vc testou a instrução que eu passei?

P.S. Atenção nos parametro pois eles estão propositalmente invertidos em relação as colunas da instrução.

flws