sql e month

05/08/2005

0

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]


Responder

Posts

05/08/2005

Rjun

Acho que esse SQL resolve seu problema.

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



Responder

05/08/2005

Arc

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


Responder

05/08/2005

Rjun

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 



Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar