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

MySQL에서 시간 값을 정수로 표현하는 방법 – UNIX_TIMESTAMP 완벽 가이드

MySQL에서는 UNIX 타임스탬프(UNIX Timestamp) 형식을 사용하여 시간 값을 정수로 나타낼 수 있습니다. 이 정수 값은 특정 날짜와 시간을 초 단위의 숫자로 변환한 것으로, 기준이 되는 시작 날짜는 '1970-01-01'입니다. 즉, 1970년 1월 1일부터 해당 시점까지 경과된 총 초(second) 수를 의미합니다.

UNIX_TIMESTAMP 함수 사용 예제

MySQL에서 제공하는 UNIX_TIMESTAMP() 함수를 사용하면 날짜 및 시간 값을 손쉽게 정수로 변환할 수 있습니다. 아래 예제를 살펴보겠습니다.

mysql> SELECT UNIX_TIMESTAMP('2017-10-22 04:05:36') AS '총 초 단위 값';
+-------------------------+
| 총 초 단위 값 |
+-------------------------+
| 1508625336 |
+-------------------------+
1 row in set (0.00 sec)

위 예제에서 '2017-10-22 04:05:36'이라는 날짜·시간 값은 1508625336이라는 정수로 변환되었습니다. 이 숫자는 1970년 1월 1일 00:00:00(UTC)부터 해당 시각까지 경과한 총 초 수를 나타냅니다.

UNIX_TIMESTAMP 값의 특징

UNIX_TIMESTAMP로 변환된 값은 일반적으로 10자리 숫자로 구성됩니다. 이러한 정수 형태의 시간 표현은 다음과 같은 장점이 있습니다.

  • 날짜 간의 차이를 단순한 뺄셈으로 쉽게 계산할 수 있습니다.
  • 정렬 및 비교 연산이 문자열보다 빠르고 효율적입니다.
  • 데이터베이스 저장 공간을 절약할 수 있습니다.

반대로 정수 형태의 UNIX 타임스탬프를 다시 사람이 읽을 수 있는 날짜 형식으로 변환하려면 FROM_UNIXTIME() 함수를 사용하면 됩니다.