2012-07-17 2 views
1

3 개의 필드가 있습니다.Mysql 날짜 및 시간 필드 및 GMT 오프셋

1. Date (as DATE) 
2. Time (as TIME) 
3. GMT Offset (as TIME) 

함께 작업 할 최종 DATETIME 필드를 검색하려면 3 개의 필드를 함께 추가해야합니다.

i) 그리니치 표준시 오프셋이 새로운 날짜로 날짜를 전달할 때 겹치는 일에 어떻게 대처할 수 있습니까?

ii) 날짜와 시간을 단일 DATETIME 필드로 저장하는 것이 더 효율적입니까? 그렇다면 GMT 오프셋은 어떻게됩니까? TIME 필드로 유지 하시겠습니까? 아니면 다른 것입니까?

답변

1

내 생각에 처음 두 필드를 DATATIME (MyDateTime) 필드로 저장하는 것이 좋습니다. 그렇다면

SELECT TIMESTAMPADD(HOUR,GMT_Offset,MyDateTime)을 함께 사용하는 문제입니다.

물론, 당신이 원한다면, 당신은 단지 하나의 표현으로 그들 모두를 던질 수 : 나는 MyDateMyTime은 GMT 이미 가정하고

SELECT TIMESTAMPADD(HOUR,GMT_Offset,TIMESTAMP(MyDate,MyTime)) 

.

+0

감사합니다 Holger, TIMESTAMPADD 완벽하게 작동합니다. – croc