sql e month

SQL Server

05/08/2005

tenho que fazer uma consulta da seguinte maneira

Tenho um campo data e um campo valor em uma tabela chamada historico.
Vou passar como parametro da consulta o mes e o ano.
Quero pegar a maior data e o valor deste historico sendo que esta data deva possuir mes e ano menor ou igual ao que foi passado como parametro.

Uso sql server 2000

[color=green:68b540cc50]Movido de Delphi para SQL Server[/color:68b540cc50]


Arc

Arc

Curtidas 0

Respostas

Rjun

Rjun

05/08/2005

Acho que esse SQL resolve seu problema.

select top 1 * 
from 
  historico 
where 
  month(Data) <= @Mes and year(Data) <= @Ano
order by data desc



GOSTEI 0
Arc

Arc

05/08/2005

neste caso se a maior data do historico for 30/12/2004
e eu passar como parametro mes 01 e ano 2005 ele não vai pegar esta data pois o mes vai ser maior do que o mes parametro


GOSTEI 0
Rjun

Rjun

05/08/2005

select top 1 * 
from 
  historico 
where 
  cast(year(data) as char(4)) + cast(month(data) as char(2)) <= 
  cast(@Ano as char(4)) + cast(@Mes as char(2))
order by data desc 



GOSTEI 0
POSTAR