Converter Inteiro em Hora

03/03/2020

0

Bom dia pessoal, não tenho um conhecimento muito avançado em SQL e preciso de uma ajuda... meu ERP salva as informações referentes as batidas do ponto dos colaboradores como um valor inteiro, por exemplo, 420 = 07:00. Como faço essa conversão? Consigo fazer direto no Select?
Thiago Spader

Thiago Spader

Responder

Posts

03/03/2020

Emerson Nascimento


aparentemente grava em minutos.
se você dividir por 60 você terá o valor em horas.

Responder

03/03/2020

Emerson Nascimento

aparentemente está gravado em minutos. se você dividir por 60 você terá o valor em horas.
atente-se aos valores decimais, que apresentarão horas centesimais. você precisará transformar em horas sexagesimais.
segue exemplo:
DECLARE @VALOR INTEGER = 440
SELECT
	@VALOR MINUTOS,
	(@VALOR / 60.0) HORA_CENTESIMAL_VALOR,
	(@VALOR / 60)+(ROUND(((@VALOR / 60.0)-(@VALOR / 60))*60,2)/100) HORA_SEXAGESIMAL_VALOR,
	LEFT(FORMAT(@VALOR / 60,'00')+':'+FORMAT(((@VALOR / 60.0)-(@VALOR / 60))*60,'00'),5) HORA_SEXAGESIMAL_TEXTO


Responder

03/03/2020

Emerson Nascimento

note que há divisor decimal (60.0) e divisor inteiro (60). mantenha da forma como apresentado para obter o resultado correto.
Responder

04/03/2020

Thiago Spader

Bom dia, tentei fazer no meu código mas ocorreu o erro "A conversão de um tipo de dados varchar em um tipo de dados datetime resultou em um valor fora do intervalo."

select numemp, numcad, datapu, codsit,
LEFT(FORMAT(qtdhor / 60,'00')+':'+FORMAT(((qtdhor / 60.0)-(qtdhor / 60))*60,'00'),5) TESTE
from tabela
where numcad = 1234
and datapu between '01/11/2019' and '31/11/2019'
group by numemp, numcad, datapu, codsit, qtdhor
Responder

04/03/2020

Emerson Nascimento

provavelmente o erro está na condição de filtro:
and datapu between '01/11/2019' and '31/11/2019'
tente com:
and datapu between '2019-11-01' and '2019-11-31'

Responder

08/03/2020

Elena Cruz

Você pode usar um conversor on-line como https://y2mate.guru/pt/
Responder

09/03/2020

Thiago Spader

Bom dia, consegui resolver com as dicas do Emerson.
Responder

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

Aceitar