Ir ao conteúdo
  • Cadastre-se

Cálculo de tempo em varchar


Ir à solução Resolvido por DiF,

Posts recomendados

Olá!

 

Estou quebrando a cabeça pra descobrir se consigo fazer um cálculo de tempo médio no MySQL quando o campo é um varchar ao invés dos temporais (como date, time, datetime, timestamp e year). Isso é possível?

 

Tenho uma tabela única e gostaria de usar duas variáveis: data de início e data de fechamento para calcular uma média de tempo de processos por ano e por tipo de processo. O problema é que a tabela foi construída com estes dois campos estipulados como varchar [porque os arquivos de importação eram grandes demais para serem manipulados e as datas transformadas em yyyy-mm-dd, como deveria ser um date, por exemplo].

 

Alguém teria alguma dica do que pode ser feito neste caso?

 

Desde já agradeço!

Link para o comentário
Compartilhar em outros sites

  • Moderador
  • Solução

Olá @claudiacerqn

 

Acredito que tenha N formas de resolver isso.

 

Uma é utilizar uma função do mysql para converter  o campo em date e fazer os cálculos..  

Outra é fazer os cálculos via linguagem de programação.

 

O que posso sugerir para você é:

 

Converter as datas que estão em varchar para date com a função STR_TO_DATE()

Depois calcular a diferença entre as datas usando a função DATEDIFF()

 

Recomendo prestar bem a atenção no datediff() pois ele não considera o primeiro dia. Se precisar do primeiro dia, no site passado explica como resolver.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!