Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 Epoch(유닉스 타임스탬프)를 읽을 수 있는 날짜로 변환하는 방법

MySQL 테이블에 저장된 Epoch 값(유닉스 타임스탬프)은 숫자 형태이기 때문에 사람이 직접 읽기 어렵습니다. 이러한 값을 FROM_UNIXTIME() 함수를 사용하면 손쉽게 읽을 수 있는 날짜 및 시간 형식으로 변환할 수 있습니다.

FROM_UNIXTIME() 함수란?

FROM_UNIXTIME() 함수는 유닉스 타임스탬프(Epoch, 1970-01-01 00:00:00 UTC 기준 경과 초)를 'YYYY-MM-DD HH:MM:SS' 형식의 DATETIME 값으로 변환해 줍니다.

예제: visitors 테이블

다음 예제에서는 Epoch 값을 저장하는 'visitors'라는 이름의 테이블을 사용합니다.

mysql> Create table visitors(userid int not null, name varchar(20), epoch int NOT NULL);
Query OK, 0 rows affected (0.42 sec)

mysql> Insert into visitors Values(1, 'Gaurav', 1358658942);
Query OK, 1 row affected (0.04 sec)

mysql> Insert into visitors Values(2, 'Raman', 1358659585);
Query OK, 1 row affected (0.04 sec)

Epoch를 날짜로 변환하여 조회하기

SELECT 문에서 FROM_UNIXTIME() 함수를 적용하면 다음과 같이 Epoch 값이 읽을 수 있는 날짜와 시간으로 출력됩니다.

mysql> Select userid, name, FROM_UNIXTIME(epoch) from visitors;
+--------+--------+----------------------+
| userid | name   | FROM_UNIXTIME(epoch) |
+--------+--------+----------------------+
|      1 | Gaurav | 2013-07-24 16:05:42  |
|      2 | Raman  | 2013-07-24 16:16:25  |
+--------+--------+----------------------+
2 rows in set (0.00 sec)

참고 사항

FROM_UNIXTIME() 함수는 MySQL 서버의 타임존(time_zone) 설정에 따라 결과가 달라질 수 있습니다. 따라서 서버가 사용 중인 타임존을 확인하고, 필요하다면 CONVERT_TZ() 함수를 함께 사용하여 원하는 시간대의 날짜로 변환하는 것이 좋습니다.