Tenho duas colunas em uma tabela: STOP
e START
, do tipo varchar
.
Eu quero ter a diferença entre as duas colunas e estou usando:
SELECT DATEDIFF(stop, start) AS difference from T1;
Está me dando null
, por causa de diferentes tipos de dados.
Para testar, também tentei:
SELECT STR_TO_DATE('5/16/2011 20:14 PM', '%c %e %Y %H:%i:%s');
Também é dar null
.
O que devo fazer pela diferença? Eu tenho n
número de dados e tempo em diferentes formatos.
Você realmente precisa unificar todos os carimbos de data e hora em um formato para ambos
start
estop
.Só para dar um exemplo, vou calcular a diferença de tempo para a primeira linha.
Aqui está o código para calculá-lo:
Pronto para ver a diferença? Aqui está:
Resposta final
Mesmo que isso seja correto, seria ilógico criar um script com esse método complicado para todas as linhas, especialmente porque algumas linhas têm formatos diferentes.
Portanto, é de seu interesse converter colunas
start
e em oustop
DATETIME
TIMESTAMP