>데이터 베이스 >MySQL 튜토리얼 >MySQL 선택 쿼리에서 UTC 날짜를 현지 시간대로 변환하는 방법은 무엇입니까?

MySQL 선택 쿼리에서 UTC 날짜를 현지 시간대로 변환하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-26 04:21:09877검색

How to Convert UTC Dates to Local Time Zone in MySQL Select Query?

MySQL Select 쿼리에서 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.