programing

MySql Select 쿼리에서 UTC 날짜를 로컬 시간대로 변환하는 방법

yoursource 2022. 10. 2. 12:26
반응형

MySql Select 쿼리에서 UTC 날짜를 로컬 시간대로 변환하는 방법

MySql Database에서 쿼리 중 하나에 있는 조건(Where Condition은 MySql Database에서 사용됩니다.문제는 테이블에 1개의 displaytime 컬럼이 있는데 그 테이블 컬럼은 UTC Time으로 표시됩니다.또한 Local Time Zone.so의 displaytime 컬럼을 변환하고 싶은데 쿼리 자체에서 이 기능을 제공하려면 어떻게 해야 합니까?

물건들을 뒤져봤고, 그 결과, 나는 뭔가에 대해 알고 있었다.SELECT CONVERT_TZ()효과가 있을 거야근데 저는 안 돼요.

여기 표시 시간을 로컬 표준 시간대로 변환해야 하는 질문이 있습니다.누구 가이드 좀 해주시겠어요?

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

여기에 이미지 설명 입력Saemple

여기에 이미지 설명 입력

여기에는 SELECT CONVERT_TZ()가 기능합니다.근데 저는 안 돼요.

왜, 어떤 오류가 발생합니까?

SELECT CONVERT_TZ(displaytime,'GMT','MET');

열 유형이 타임스탬프 또는 날짜인 경우 작동해야 합니다.

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_convert-tz

동작 테스트:

SELECT CONVERT_TZ(a_ad_display.displaytime,'+00:00','+04:00');

시간대 테이블 확인

SELECT * FROM mysql.time_zone;
SELECT * FROM mysql.time_zone_name;

http://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html

이러한 테이블이 비어 있는 경우 시간대 테이블을 초기화하지 않은 것입니다.위의 링크에 따라 다음을 사용할 수 있습니다.mysql_tzinfo_to_sql표준 시간대 테이블을 로드하는 프로그램입니다.이거 드셔보세요

shell> mysql_tzinfo_to_sql /usr/share/zoneinfo

기능하지 않는 경우는, http://dev.mysql.com/doc/refman/5.5/en/mysql-tzinfo-to-sql.html 를 참조해 주세요.

서버상에서 타임존을 사용할 수 없는 경우는, 다음과 같이 동작합니다.

SELECT CONVERT_TZ(`date_field`,'+00:00',@@global.time_zone) FROM `table`

주의: 글로벌.time_zone은 서버 시간대를 사용합니다.원하는 시간대를 가지고 있는지 확인해야 합니다!

 select convert_tz(now(),@@session.time_zone,'+05:30')

+05:30'을 원하는 시간대로 바꿉니다.여기를 참조해 주세요 - https://stackoverflow.com/a/3984412/2359994

원하는 시간 형식으로 포맷하려면 다음과 같이 하십시오.

 select DATE_FORMAT(convert_tz(now(),@@session.time_zone,'+05:30') ,'%b %d %Y %h:%i:%s %p') 

다음과 같이 됩니다. -> 2014년 12월 17일 10:39:56 AM

언급URL : https://stackoverflow.com/questions/15017799/how-to-convert-utc-date-to-local-time-zone-in-mysql-select-query

반응형