Olá amigos!

O seguinte comando funciona perfeitamente:

SELECT COUNT(Corrosao)as Corrosao,
DATEDIFF (YEAR, DataFabricacao, DataHoraCadastro) as VidaUtil
FROM tCapa
WHERE IDClasse = 10
AND Corrosao = 0
GROUP BY Corrosao,DATEDIFF (YEAR, DataFabricacao, DataHoraCadastro)

me retorna o seguinte resultado:

Minha pergunta é: existe alguma forma de eu conseguir que a coluna VidaUtil venha com valores "quebrados" ? Explico: o cliente quer saber por exemplo, se a vida util da peça é 6 anos e meio. Com a função DATEDIFF só consegui trazer valores inteiros.

No aguardo e obrigado!

Exibições: 235

Respostas a este tópico

No lugar de YEAR, use MONTH, dai você vai ter a quantidade de meses, se quiser maior precisão, use DAY, e divide até achar o valor..

http://lmgtfy.com/?q=SQL+Server+datediff+float

Boa sorte!

Sds.,

Rubem Rocha
MCP/MCPD ASP.NET/Delphi Developer
Manaus, AM

KKKKKKKKKKK, Obrigado Rubem!

Rubem Nascimento da Rocha disse:

http://lmgtfy.com/?q=SQL+Server+datediff+float

Boa sorte!

Sds.,

Rubem Rocha
MCP/MCPD ASP.NET/Delphi Developer
Manaus, AM

Vinicius, você conseguiu da forma que falei ??? Passa um feedback para que possamos acompanhar a solução.

Olá Flávio,

Obrigado pela atenção e desculpe pela demora no feedback.

Só consegui fazendo dessa forma:

SELECT COUNT(Corrosao) as Corrosao,
CAST
( CAST (DATEDIFF (DAY, DataFabricacao, DataHoraCadastro) AS NUMERIC(38,2)) / CAST (365 AS NUMERIC(38,2)) AS NUMERIC(38,2))
FROM tCapa
WHERE IDClasse = 10
AND Corrosao = 0
GROUP BY Corrosao,
CAST (CAST(DATEDIFF
(DAY, DataFabricacao, DataHoraCadastro) AS NUMERIC(38,2))
/
CAST (365 as NUMERIC(38,2)) AS NUMERIC(38,2))

Ou seja, eu não estava convertendo os dois valores da operação, somente o resultado final, por isso ele sempre arredondava.

Fica o registro prá galera se tiverem o mesmo problema.

Obrigado e um abraço!



Flávio Farias disse:

Vinicius, você conseguiu da forma que falei ??? Passa um feedback para que possamos acompanhar a solução.
Blz.. Qualquer coisa só gritar...

RSS

© 2017   Criado por Ramon Durães.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço