iT-Tech
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Últimos assuntos
» Cálculo de horas extras
Transformar Campo caracter em formato HH:MM:SS EmptySex 13 Out - 10:25 por Felipe Naibert

» Exportar Arquivos em quantidades (blocos) fixos de linhas.
Transformar Campo caracter em formato HH:MM:SS EmptyQui 20 Ago - 12:17 por Miro

» GRUPO DE ESTUDOS AUDIT ANALYTICS
Transformar Campo caracter em formato HH:MM:SS EmptyTer 9 Jun - 9:22 por Miro

» Cálculo do número da Semana no ano
Transformar Campo caracter em formato HH:MM:SS EmptySeg 11 maio - 11:18 por Miro

» A ordem dos argumentos altera o tempo de processamento
Transformar Campo caracter em formato HH:MM:SS EmptyQui 23 Abr - 14:50 por Miro

» Como pegar dados únicos de um campo?
Transformar Campo caracter em formato HH:MM:SS EmptySeg 23 Fev - 19:33 por Fernanda

» Existe algum comando no Analyzer que eu realize as instruções do SQL?
Transformar Campo caracter em formato HH:MM:SS EmptyQua 18 Fev - 9:22 por Raphael Moita Bertolino

» Lei de Benford: How Forensic Accountants Use Benford's Law To Detect Fraud
Transformar Campo caracter em formato HH:MM:SS EmptyQua 24 Dez - 7:53 por Márcia

» Importação de PDF
Transformar Campo caracter em formato HH:MM:SS EmptyTer 9 Dez - 13:23 por Fernanda


Transformar Campo caracter em formato HH:MM:SS

2 participantes

Ir para baixo

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

Mensagem  Paulo Kunath Filho 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 : 5
Data de inscrição : 22/03/2012

Ir para o topo Ir para baixo

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

Mensagem  Felipe Naibert 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 : 25
Data de inscrição : 24/02/2012

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos