왜 복잡한 일을하는지 잘 모르겠습니다. 마이크로 초 대신 초를 얻으려면 1000으로 나누고 1970-01-01에서 빼십시오.
mysql > select '1970-01-01' + interval -866138400000/1000 second;
+---------------------------------------------------+
| '1970-01-01' + interval -866138400000/1000 second |
+---------------------------------------------------+
| 1942-07-22 06:00:00 |
+---------------------------------------------------+
1 row in set (0.00 sec)
그래서 쿼리는 실제로 물론이 될 것이다 :
select '1970-01-01' + interval your_column/1000 second from your_table;
이 쿼리는 당신의 가정은, 그것이 될 것이라고 1942년 7월 21일이 잘못된 것을 증명한다. 1942-07-22가 정확합니다.
mysql > select timestampdiff(second, '1942-07-21', '1970-01-01');
+---------------------------------------------------+
| timestampdiff(second, '1942-07-21', '1970-01-01') |
+---------------------------------------------------+
| 866246400 |
+---------------------------------------------------+
그래서 값이 여전히 1970 년 이후 마이크로로 저장되고, 음의 값은 1970 년 전에 의미에서 봐 단지 그것을 이해하는 데 나에게 두 번째가 걸렸기 때문에 그것을 적어 라. – RealCheeseLord