Rafael Gazzatte Posted October 18, 2011 Report Share Posted October 18, 2011 Amigos,boa para todos.Estou com uma pequena duvida aqui,como eu consigo fazer multiplicação em horas convertidas se é que isso é possivel,Um pequeno exemplo :Tenho uma grande consulta aqui com vários cases,a saida desses cases basicamente são :CONVERT(VARCHAR(19),'16:00:00',108)CONVERT(VARCHAR(19),(DT_FIM-'06:00:00')+'08:00:00',108)Eu precisava multiplicar,por exemplo queria saber essas 16:00:00 do primeiro exemplo multiplicada por 8.Logo pensei em fazer : CONVERT(VARCHAR(19),'16:00:00'*8,108)O erro não é o mesmo caso do exemplo acima,mas o erro que dá é esse :Conversion failed when converting the varchar value '08:00:00' to data type int.Existe algum jeito de fazer a multiplicação no caso acima?Poder multiplicar uma "Hora"?Obrigado desde já pela ajuda amigos! Quote Link to comment Share on other sites More sharing options...
0 fulvio Posted October 18, 2011 Report Share Posted October 18, 2011 Boa tarde Rafael, Apenas uma dúvida: você quer multiplicar a data por 8 ou acrescentar 8 horas? Porque pensando em data, se multiplicar por 8 você terá que levar em consideração os dias também, não somente a hora. O interessante que a data começará a se repetir a partir da 3ª vez que multiplicar....16:0024:0008:0016:00 .......... Se for acrescentar 8 horas, pode utilizar a função DATEADD. O erro ocorre porque você convert uma data em caracter. Depois você tenta multiplicar um caraceter por 8. Por isso ocorre o erro de tipo. Quote Link to comment Share on other sites More sharing options...
0 Rafael Gazzatte Posted October 18, 2011 Author Report Share Posted October 18, 2011 Fulvio obrigado desde já pela ajuda,Eu quero multiplicar,exemplo os 16:00:00 * 8 basicamente.Nesse caso o DATEADD funciona para horas?Se funcionar teria a gentileza de poder enviar nem que for um pequeno exemplo?Obrigado Quote Link to comment Share on other sites More sharing options...
0 fulvio Posted October 18, 2011 Report Share Posted October 18, 2011 Um exemplo:select DATEADD(hh, 5, getdate()) Se pegar 16:00:00 * 8, qual seria o resultado? Quote Link to comment Share on other sites More sharing options...
0 Rafael Gazzatte Posted October 18, 2011 Author Report Share Posted October 18, 2011 Fulvio,desculpa demora,tive que voltar para casa,eu queria que como resultado tivesse algo como um total por exemplo nesse 128:00:00,mas acredito que isso seja impossivel...Queria que eu pudesse em cima de um horario exemplo '16:00:00', eu conseguisse saber ele * 8.Existe alguma possibilidade?Obrigado. Quote Link to comment Share on other sites More sharing options...
0 fulvio Posted October 18, 2011 Report Share Posted October 18, 2011 Boa tarde Rafael, rs... sem problemas... Assim não tem como, porque o horário 128:00:00 não existe. O sql não identificará com sendo uma data válida. Quote Link to comment Share on other sites More sharing options...
0 Rafael Gazzatte Posted October 19, 2011 Author Report Share Posted October 19, 2011 Fulvio,bom dia,logo imaginei que esse esquema de '128:00:00' não ia dar,´vou ver se consigo tentar fazer algo aqui e chegar em um acordo aqui.Tudo que envolve data para sql é um terror rsrs.Obrigado denovo Fulvio por tudo. Quote Link to comment Share on other sites More sharing options...
0 fulvio Posted October 19, 2011 Report Share Posted October 19, 2011 De nada... precisando estamos ai!! :.) Quote Link to comment Share on other sites More sharing options...
Question
Rafael Gazzatte
Amigos,boa para todos.
Estou com uma pequena duvida aqui,como eu consigo fazer multiplicação em horas convertidas se é que isso é possivel,
Um pequeno exemplo :
Tenho uma grande consulta aqui com vários cases,a saida desses cases basicamente são :
CONVERT(VARCHAR(19),'16:00:00',108)
CONVERT(VARCHAR(19),(DT_FIM-'06:00:00')+'08:00:00',108)
Eu precisava multiplicar,por exemplo queria saber essas 16:00:00 do primeiro exemplo multiplicada por 8.
Logo pensei em fazer :
CONVERT(VARCHAR(19),'16:00:00'*8,108)
O erro não é o mesmo caso do exemplo acima,mas o erro que dá é esse :
Conversion failed when converting the varchar value '08:00:00' to data type int.
Existe algum jeito de fazer a multiplicação no caso acima?
Poder multiplicar uma "Hora"?
Obrigado desde já pela ajuda amigos!
Link to comment
Share on other sites
7 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.