TECH SOLUTIONS PARTICIPA DO CONBRAI 2016 EM SÃO PAULO

Qua 21 Set - 14:35 por Miro



Comentários: 0


Transformar Campo caracter em formato HH:MM:SS

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Transformar Campo caracter em formato HH:MM:SS

Mensagem  Paulo Kunath Filho em Sex 11 Maio - 16:23

Como transformar um campo,em caracter, que está no seguinte formato "20:15.2002" em um campo de horas formato "hh:mm:ss".

Paulo Kunath Filho

Mensagens : 9
Data de inscrição : 22/03/2012

Voltar ao Topo Ir em baixo

Re: Transformar Campo caracter em formato HH:MM:SS

Mensagem  Felipe Naibert em Sex 11 Maio - 16:25

O ACL não possui um campo do tipo HORA para trabalhar com horas minutos e segundos. No ACL devem ser usadas funções de conversão e matemáticas, Exemplo:

CAMPO_HORA = "20:15:10" (Assumindo que se trata de 20 horas, 15 minutos e 10 segundos) VALOR_EM_SEGUNDOS = (VALUE(SPLIT(CAMPO_HORA; ":"; 1); 0) * 3600) + (VALUE(SPLIT(CAMPO_HORA; ":"; 2); 0) * 60) + (VALUE(SPLIT(CAMPO_HORA; ":"; 3); 0))

Assim as operações podem ser feitas para encontrar a diferença em segundos. Se precisar exibir o resultado em horas, você deverá fazer a operação inversa:

RESULTADO = STRING(INT(VALOR_EM_SEGUNDOS / 3600,0000) ; 2) + ":" + STRING(INT(MOD(VALOR_EM_SEGUNDOS ; 3600) / 60,0000) ; 2) + ":" + STRING(MOD(VALOR_EM_SEGUNDOS ; 60) ; 2)

Funções utilizadas:

Value - Converte texto para número.
Split - Quebra o texto por um separador (no caso o dois-pontos) e pega a sequencia (1 pega as horas, 2 pega os minutos e 3 os segundos). Int - Retorna a parte inteira da divisão. É importante observar o número de decimais para evitar arredondamento
Mod - Pega o resto da divisão.
String - Converte número para texto.

Felipe Naibert

Mensagens : 27
Data de inscrição : 24/02/2012

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum