Inquiridor
Realizar busca entre intervalo de datas.

Pergunta
-
Galera to tendando realizar uma busca entre o intervalo de datas, mas ta saindo algo errado.
Estou usando o comando abaixo, uso o sql server 2008
----------------------------------------------------------------------------------------------------------------
SELECT * FROM tbl_ControleAcesso WHERE ysnData BETWEEN '01/08/2010' and '02/08/2010'
----------------------------------------------------------------------------------------------------------------
O problema é que no resultado ele esta me trazendo todos os dias 01 e 02 de todos os meses e nao do mes que solicitei.
Ex.:
01/08/2010
01/09/2010
01/10/2010
02/08/2010
02/09/2010
02/10/2010
----------------------------------
o que estou fazendo de errado.
Qual a sintaxe do comando correto...
Alguem pode me ajudar, agradeço
Todas as Respostas
-
Programador MK
tenta assim
SELECT * FROM tbl_ControleAcesso WHERE ysnData BETWEEN '20100801' and '20100802'
acho que o o formato esta errado.. ele ta trocando ano com mes... DMY ou MDY
att.
Marcelo Fernandes
Não Perca o Worldwide Online TechDay 2010 Um evento gratuito com grandes personalidades (Buck Woody, Chad Miller, Steve Jones, Fabricio Catae e muito mais...Eu vou falar sobre particionamento de tabelas registre-se
Acesse o site do evento http://www.online.techday.net.br
MCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodba -
-
Boa Noite,
Possivelmente o tipo de dados está como VARCHAR (ou CHAR). É possível contornar, mas não há como tornar sua consulta performática. O ideal seria que você utilizasse tipos de dados como DATE ou o DATETIME2.
SELECT * FROM tbl_ControleAcesso WHERE CAST(ysnData As DATE) BETWEEN '20100801' and '20100802'
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.spaces.live.com
Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Gustavo Maia Aguiar quinta-feira, 21 de outubro de 2010 22:40