2013-04-20 1 views
2

동부 표준 시간대를 기준으로 원래 설정된 DB 테이블에 소수의 테이블이 있습니다. 그것은 12k + 레코드를 가지고 있으며, 이들 테이블을 업데이트하면서 모든 행을 순환하는 루프를 만들 필요없이 gmt datetime과 일치하는 이러한 테이블의 데이터 레코드를 커버하는 정상적인 접근 방법을 찾고자합니다. 효율적으로 처리 할 수 ​​있습니까? 아니면 순차적으로 반복해야합니까?동부 표준시에서 gmt로 데이터베이스 레코드 변환

답변

0

ADDTIME()의 기능은 무엇입니까? 필요한 모든 열을 간단한 쿼리로 업데이트 할 수 있습니다.

+0

불행하게도하지만, 내 문제의 일부 일 수있는 조작 백업을하기 전에 그러나

다음이 시도 (timetest라는 또 다른 하나 예를 들어 당신의 열을 복사). 어느 누구도 동서 사람 또는 세계의 다른 지역에서 시간대 오프셋을 고려하지 않습니다. 결국 우리는 충돌하는 주식 데이터와 충돌하는 진지한 로그를 가지고 있습니다. – chris

+0

최종 목표는 gmt 날짜/시간의 모든 것을 근거로하고 사람 위치의 오프셋으로 조정하여 모든 것을 수정하고 올바르게 동기화하는 것입니다. – chris

+0

@chris 나는 당신이 단지 날짜를 업데이 트해야 할 tought를 참조하십시오. 이것은 점점 어려워지고 있습니다. – Fabio

0

CONVERT_TZ() 함수를 사용할 수 있습니다.

UPDATE table_name SET timecolumn = CONVERT_TZ(timecolumn,'EST','GMT'); 
+0

참조로 인해 잠깐 전에 약 Stack에 관한 게시물을 발견했습니다. 내가 혼란스럽게 생각하는 것은, SQL을 적절하게 사용하기 위해서 뭔가를 설치하거나 SQL을 재구성해야하는 것 같습니다. 이 이해가 맞습니까? – chris

+0

서버의 현재 위치와 sql이 처음 구성되는 방식과 관련이 있습니까? – chris

+0

Errrr ... 나는 그렇게 생각하지 않는다. 거기를 보아라. https://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html#function_convert-tz 그것은 작동한다. 그런 식으로 : mysql> SELECT CONVERT_TZ ('2013-04-20 18:00:00', 'EST', 'GMT'); –

관련 문제