[MariaDB] 에폭 타임 형태의 TEXT 데이터를 date 타입으로 변환

    에폭 타임 화면

    MySQL 타임존 확인

    SELECT @@GLOBAL.time_zone, @@SESSION.time_zone, @@system_time_zone;
    

    UTC로 되어있어서 여기에 +9를 해줘야 한다.

    데이터 형식 확인

    데이터는 다음과 같은 형식으로 들어온다. (1684891804137)

    date 타입으로 변환 쿼리

    나는 시간만 필요하고 분, 초까지는 필요 없어서 SUBSTR로 잘라줬다. SUBSTR(CREATE,1,10)

    FROM_UNIXTIME() 함수를 사용해 DATE 타입으로 바꾸면 다음과 같다.

    SELECT  FROM_UNIXTIME(SUBSTR(CREATE_DATE,1,10))
    FROM 테이블명;

     

    FROM_UNIXTIME()은 UTC 기준이기 때문에 +9해야 한국 시간으로 변경된다.

     

    SELECT  DATE_FORMAT(DATE_ADD(FROM_UNIXTIME(SUBSTR(CREATE_DATE,1,10)), INTERVAL +9 hour),'%y%m%d%H') AS KORTIME
    FROM 테이블명;

     

    원하는 데이터 타입으로 변경하면 다음과 같다.

     

    728x90

    댓글