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

MySQL FROM_UNIXTIME() 함수란? 용도와 사용법 총정리

MySQL FROM_UNIXTIME() 함수란?

MySQL의 FROM_UNIXTIME() 함수는 유닉스 타임스탬프(Unix Timestamp) 값을 사람이 읽기 쉬운 날짜 또는 날짜·시간(Datetime) 형태로 변환해 주는 함수입니다. 데이터베이스에 저장된 타임스탬프 값을 실제 날짜로 확인하거나 표시할 때 매우 유용하게 사용됩니다.

반환되는 값의 형식은 함수가 사용된 문맥(context), 즉 숫자형으로 평가되는지 문자열로 평가되는지에 따라 다음과 같이 달라집니다.

  • 문자열 문맥: 'YYYY-MM-DD HH:MM:SS' 형식 (예: 2019-04-12 07:14:30)
  • 숫자 문맥: YYYYMMDDHHMMSS.uuuuuu 형식 (uuuuuu는 마이크로초 단위)

기본 문법

FROM_UNIXTIME(unix_timestamp, [format])

unix_timestamp는 변환하고자 하는 유닉스 타임스탬프 값이며, format은 선택적 인자로, 원하는 출력 형식을 지정하는 형식 문자열입니다. 두 번째 인자를 생략하면 기본 형식으로 결과가 반환됩니다.

사용 예시

다음은 유닉스 타임스탬프 1555033470을 날짜·시간 형식으로 변환하는 기본적인 예시입니다.

mysql> SELECT FROM_UNIXTIME(1555033470);
+---------------------------+
| FROM_UNIXTIME(1555033470) |
+---------------------------+
| 2019-04-12 07:14:30       |
+---------------------------+
1 row in set (0.00 sec)

위 결과에서 볼 수 있듯이, 타임스탬프 값이 'YYYY-MM-DD HH:MM:SS' 형태의 날짜와 시간으로 변환되어 반환됩니다.

형식 문자열 활용하기

두 번째 인자에 형식 지정자를 사용하면 원하는 모양으로 자유롭게 출력할 수 있습니다. 주요 지정자로는 %Y(연도), %m(월), %d(일), %H(시), %i(분), %s(초) 등이 있습니다.

mysql> SELECT FROM_UNIXTIME(1555033470, '%Y년 %m월 %d일 %H시 %i분');
+--------------------------------------------------------+
| FROM_UNIXTIME(1555033470, '%Y년 %m월 %d일 %H시 %i분')   |
+--------------------------------------------------------+
| 2019년 04월 12일 07시 14분                              |
+--------------------------------------------------------+
1 row in set (0.00 sec)

이처럼 FROM_UNIXTIME() 함수는 단순 변환뿐 아니라 형식 지정자를 조합하여 보고서나 화면 출력에 바로 쓸 수 있는 형태로 가공할 수 있어 실무에서 활용도가 높습니다.