Rafael Gazzatte Postado Outubro 18, 2011 Denunciar Share Postado Outubro 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Outubro 18, 2011 Denunciar Share Postado Outubro 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Gazzatte Postado Outubro 18, 2011 Autor Denunciar Share Postado Outubro 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Outubro 18, 2011 Denunciar Share Postado Outubro 18, 2011 Um exemplo:select DATEADD(hh, 5, getdate()) Se pegar 16:00:00 * 8, qual seria o resultado? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Gazzatte Postado Outubro 18, 2011 Autor Denunciar Share Postado Outubro 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Outubro 18, 2011 Denunciar Share Postado Outubro 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Gazzatte Postado Outubro 19, 2011 Autor Denunciar Share Postado Outubro 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Outubro 19, 2011 Denunciar Share Postado Outubro 19, 2011 De nada... precisando estamos ai!! :.) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
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 para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.