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

MySQL 밀리초·마이크로초 정밀도, 어떤 버전부터 지원될까?

MySQL 5.6.4 이전 버전에서는 밀리초/마이크로초 단위의 시간 정밀도를 지원하지 않았습니다. 하지만 최신 버전의 MySQL에서는 TIMESTAMP, DATETIME, TIME 타입에 대해 밀리초/마이크로초 정밀도를 공식적으로 지원합니다.

MySQL 공식 발표 내용

MySQL 공식 문서에는 다음과 같이 명시되어 있습니다.

“MySQL은 이제 TIME, DATETIME, TIMESTAMP 값에 대해 소수 초(fractional seconds)를 지원하며, 최대 마이크로초(microsecond) 정밀도까지 표현할 수 있습니다.”

MySQL 버전 확인 방법

현재 시스템에 설치된 MySQL 버전은 version() 함수를 사용해 간단히 확인할 수 있습니다.

mysql> SELECT version();

실행 결과는 다음과 같습니다.

+-----------+
| version() |
+-----------+
| 8.0.12    |
+-----------+
1 row in set (0.01 sec)

DATEDIFF로 날짜 차이 확인하기

두 날짜 간의 차이를 계산하는 DATEDIFF 함수의 기본 사용 예시는 다음과 같습니다.

mysql> SELECT DATEDIFF(now(),now());

출력 결과

+-----------------------+
| DATEDIFF(now(),now()) |
+-----------------------+
|                     0 |
+-----------------------+
1 row in set (0.03 sec)

마이크로초 정밀도로 현재 시간 조회하기

now() 함수에 인자 6을 전달하면 마이크로초까지 포함된 현재 시간을 조회할 수 있습니다.

mysql> SELECT now(6);

다음은 마이크로초 단위까지 출력된 결과입니다.

+----------------------------+
| now(6)                     |
+----------------------------+
| 2018-11-11 17:13:25.485429 |
+----------------------------+
1 row in set (0.00 sec)

이처럼 MySQL 5.6.4 이상 버전에서는 FSP(Fractional Seconds Precision) 매개변수를 활용해 TIME, DATETIME, TIMESTAMP 컬럼과 날짜·시간 함수에서 소수 초 정밀도를 자유롭게 다룰 수 있습니다. 참고로 FSP 값은 0~6 사이로 설정할 수 있으며, 6이 가장 높은 마이크로초 정밀도를 의미합니다.