집 >데이터 베이스 >MySQL 튜토리얼 >MySQL 선택 쿼리에서 UTC 날짜를 현지 시간대로 변환하는 방법은 무엇입니까?
"displaytime" 열이 포함된 MySQL 쿼리를 사용하고 있습니다. UTC로 타임스탬프를 저장합니다. 그러나 현지 시간대로 타임스탬프를 표시해야 합니다. CONVERT_TZ() 함수가 예상대로 작동하지 않습니다.
CONVERT_TZ() 함수를 사용하여 UTC 타임스탬프를 현지 시간대로 변환하려면 두 가지 모두에 대한 시간대 약어를 지정해야 합니다. UTC 및 현지 시간대. 올바른 구문은 다음과 같습니다:
SELECT CONVERT_TZ(displaytime, 'UTC', 'LOCAL')
예제 쿼리
WHERE displaytime >= '2012-12-01 00:00:00' AND displaytime <= '2013-02-22 23:59:59' AND ct.organizationId IN ( SELECT t.organizationId FROM organization_ AS t JOIN organization_ AS p ON t.treePath LIKE CONCAT(p.treePath, '%') WHERE p.organizationId = 10707 )
수정된 쿼리:
WHERE CONVERT_TZ(displaytime, 'UTC', 'LOCAL') >= '2012-12-01 00:00:00' AND CONVERT_TZ(displaytime, 'UTC', 'LOCAL') <= '2013-02-22 23:59:59' AND ct.organizationId IN ( SELECT t.organizationId FROM organization_ AS t JOIN organization_ AS p ON t.treePath LIKE CONCAT(p.treePath, '%') WHERE p.organizationId = 10707 )
CONVERT_TZ()가 작동하지 않으면 다음과 같을 수 있습니다. 시간대 테이블이 없거나 비어 있기 때문입니다. mysql_tzinfo_to_sql 프로그램을 사용하여 시간대 테이블을 초기화할 수 있습니다.
위 내용은 MySQL 선택 쿼리에서 UTC 날짜를 현지 시간대로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!