2013-04-21 2 views
1
UPDATE bridge_copy SET 
     game_begin = CONVERT_TZ(game_begin,'EST','GMT'), 
     game_end = CONVERT_TZ(game_end,'EST','GMT'); 

이것은 실행하려고 시도한 쿼리이며 실수로 실패했습니다. 최종 결과는 두 개의 열이 변환보다 0000-00-00 00:00:00으로 채워진 것입니다. 12k + 행을 업데이트 할 수있는 방법은 현재 값을 선택하는 서버 측 스크립트를 통해 반복하지 않고 변환 한 다음 업데이트하는 것입니다.CONVERT_TZ 12k + 레코드를 사용하여 동부 표준 시간대를 gmt로 일괄 변환

답변

1

올바른 생각을했지만 mysql.time_zone_name 테이블에있는 시간대 이름을 사용해야합니다. 종종 이것은 비어있어서 채워 져야합니다. 그것은 무엇을한다는 것을 확인한 후

SELECT CONVERT_TZ(game_end, "US/Eastern","GMT") from 
bridge_copy; 

을 :

mysql_tzinfo_to_sql /usr/share/zoneinfo |mysql -u root mysql 

그럼 내가 사용이를 테스트 할 수 있었다 : 나는 (우분투 리눅스에) 실행되도록 나를 위해

는 time_zone_name 테이블은 비어 예상된다면, 나는 앞으로 나아가서 업데이트를 할 수 있습니다. 참고 "US/Eastern"을 사용하고 있습니다. mysql.time_zone_name 테이블에서 무언가를 선택하십시오.

자세한 시간대 정보는 문서를 참조하십시오. http://dev.mysql.com/doc/refman/5.0/en/time-zone-support.html

관련 문제