FUNCAO COM TOP

SERGIO.CARDOSO 29/11/2006 14:17:50
#186972
Preciso da ajuda dos colegas para o seguinte:
Minha funcao deveria retornar um inteiro com o valor do maior ano.
Por enquanto so coloquei para teste alguns registros com o ano 2006.
A funcao ta retornando 1899 ???
Sera que eh o filho da ...
... mae do XP ?

sql = "Select Top 1 AnoP from Previsao"
( obs.: o max tambem retorna 1899 )

USUARIO.EXCLUIDOS 29/11/2006 14:22:16
#186976
Tente isso:

sql = "Select Top 1 YEAR(AnoP) from Previsao ORDER BY YEAR(AnoP) Desc"
HUGOSSOUZA 29/11/2006 14:23:57
#186977
Resposta escolhida
tenta assim:


sql = "Select max(AnoP) as AnoMax from Previsao"

LIONHEART 29/11/2006 14:25:33
#186978
vc tá usando o ano como STRING/varchar?
se for pode ser esse o problema.

select top 1 Cast (AnoP as datetime) from Previsao


Nem precisa do ORDER BY, se vai ter um só
USUARIO.EXCLUIDOS 29/11/2006 14:29:26
#186982
Opa! Precisa sim do Order by, senão ele trará apenas o primeiro que foi cadastrado e não o maior... Depende do banco, CAST não funfa... pode ser usado

select top 1 Convert(AnoP, date) from Previsao order by Convert(AnoP, date) desc
Tópico encerrado , respostas não são mais permitidas