2013-07-01 5 views
0

나는 파이썬 with time.time()을 사용하여로드 한 databse를 가지고 있습니다. 결과는 1370449004.766663과 같이 보이는 초 단위로 나타납니다.mysql varchar를 float 또는 epoch 시간으로 변환 하시겠습니까?

이들은 varchar 유형의 time 열에 있습니다.

이 열을 from_unixtime() 명령 (here)을 이용할 수 있도록 어떻게 변환 할 수 있습니까?

지금은이 작업을 수행 할 때 :

SELECT UNIX_TIMESTAMP(time) from table; 

출력 시간 내 파이썬 명령 time.time의 출력과 VARCHAR 컬럼입니다 0입니다.

그러나 내 주요 목표는이 열을 플로트 열로 표시하여 매번 캐스팅하지 않고도 계산할 수 있도록하는 것입니다.

제안 사항?

+0

플로트? 도트를 제거하면 단순히 마이크로 초 단위의 수입니다. 그럼 당신의 정확성이 훨씬 더 좋을거야, 계산 속도가 빠르고 문제가 덜 - – akostadinov

답변

1

unix_timestamp()은 날짜를 입력으로 사용합니다. varchar (1370449004.766663)으로 전화하는 것은 의미가 없습니다.

float 열에 varchar 열을 변환하려면, 당신 수 :

alter table YourTable add FloatColumn float; 
update YourTable set FloatColumn= convert(time, float); 

그것은 datetime 열로 날짜 저장하는 더 나은 아이디어 :

alter table YourTable add DateTimeColumn datetime; 
update YourTable set DateTimeColumn = from_unixtime(convert(time, float)); 
+0

이 줄에 세미콜론을 추가 할 수 있습니까? SQL을 처음 사용합니다. 감사합니다. – Cripto

+0

그냥 업데이트를 시도했는데 오류가 있다는 메시지가 표시됩니다. – Cripto

+0

유용한 의견을 보내실 수 있도록 가능한 한 구체적으로 작성하십시오. sqlfiddle.com에서 오류를 재현하거나 적어도 정확한 오류 메시지를 게시하십시오. – Andomar

관련 문제