Array
(
)

Consulta entre datas

Alex Maia
   - 28 nov 2008

Boa tarde,

Como faço pra consulta entre datas no sql server cinsiderando apenas o mês e o ano. Por exemplo:

SELECT * FROM TABELA WHERE DATA BETWEEN MM/YYYY AND MM/YYYY

Desde já agradeço.


Jair Bg
   - 01 dez 2008

Bom Dia, voce pode fazer isso por partes utilizando na clausula ´WHERE´ o comando ´DATEPART´ pegando o ano e o mês ´YEAR e MONTH´, pode resolver o seu problema...


Martins
   - 10 dez 2008


Citação:
Bom Dia, voce pode fazer isso por partes utilizando na clausula ´WHERE´ o comando ´DATEPART´ pegando o ano e o mês ´YEAR e MONTH´, pode resolver o seu problema...


Tente utilizar a dica do jair BG, ela vai te ajudar.

Exemplo meramente ilustrativo.

#Código


SELECT * FROM TABELA
WHERE
MONTH(DATA) BETWEEN DATEPART(MONTH, DATAX)
AND
DATEPART(MONTH, DATAX)
AND
YEAR(DATA) BETWEEN DATEPART(YEAR, DATAX)
AND
DATEPART(YEAR, DATAX)


Boa sorte e bons códigos!


Emerson
   - 11 jan 2009


Citação:
Tente utilizar a dica do jair BG, ela vai te ajudar.

Exemplo meramente ilustrativo.

#Código


SELECT * FROM TABELA
WHERE
MONTH(DATA) BETWEEN DATEPART(MONTH, DATAX)
AND
DATEPART(MONTH, DATAX)
AND
YEAR(DATA) BETWEEN DATEPART(YEAR, DATAX)
AND
DATEPART(YEAR, DATAX)


Assim não vai funcionar, Martins...
imagine que eu queira entre Jun/2001 e Nov/2008. com a query acima será trazido tudo esteja entre os meses 06 e 09, de 2001 a 2008, porém eu pedi a partir de JUNHO/2001. Novembro de 2001 não deve ser listado.

algo assim deve funcionar:
#Código
SELECT
*
FROM
TABELA
WHERE
convert(varchar(7),DATA,102)
BETWEEN
convert(varchar(7),DATAINI,102) AND
convert(varchar(7),DATAFIM,102)