은 UTC으로 검색하는 날짜 경계를 변환합니다.
CONVERT_TZ 기능이 편리합니다. 이런 식으로 뭔가 :
WHERE my_utc_date_time_col >= CONVERT('2016-02-20','EST5EDT','+00:00')
AND my_utc_date_time_col < CONVERT('2016-02-20','EST5EDT','+00:00') + INTERVAL 1 DAY
(이것은 당신이, MySQL의 시간대 테이블을 채워했습니다 그래서 이름이 시간대가 지원한다고 가정합니다.)
효과적으로 상당 바람이 :
WHERE my_utc_date_time_col >= '2016-02-20' + INTERVAL 4 HOUR
AND my_utc_date_time_col < '2016-02-20' + INTERVAL 4 HOUR + INTERVAL 1 DAY
또는
WHERE my_utc_date_time_col >= '2016-02-20 04:00:00'
AND my_utc_date_time_col < '2016-02-21 04:00:00'
당신은 함수를 참조하려면 다음과 같은 NOW()
현재 날짜를 얻으려면 MySQL 연결의 시간대가 중요합니다. 반환되는 datetime 값은 MySQL 연결의 time_zone에 있기 때문입니다. 우리의 문자 측면보다는 열에서 변환을 수행하는 것을 선호
SHOW VARIABLES LIKE 'time_zone' ;
참고 때문에 우리는 의 모든 행에 대해 변환을 수행하기 위해 MySQL을 강제 컬럼에 그것을 할 경우 테이블을 만들고 리터럴을 비교합니다.리터럴 측에서 변환을 수행하면 MySQL이 인덱스 범위 스캔 작업 (적절한 인덱스를 사용할 수 있음)을 효과적으로 사용할 수 있습니다.
적절할 경우 질문 기록을 방문하고 답변을 받기 시작할 수 있습니다. 그것은 대답하기를 원하는 누구에게나 유망한 시력이 아닙니다. – Drew
이해합니다. 알림을 보내 주셔서 감사합니다. – kenshin9