데이터베이스 관리 영역에서는 에포크 번호를 사람이 읽을 수 있는 날짜로 변환해야 하는 경우가 많습니다. 정의된 에포크 이후의 특정 시점을 나타내는 에포크 번호는 일반적으로 MySQL과 같은 데이터베이스 시스템에 임시 데이터를 저장하는 데 사용됩니다.
특정 시점. 이 값의 데이터 유형은 varchar이며 이를 이해하기 쉬운 날짜 형식으로 변환하려고 합니다.
세부 솔루션
MySQL에서 이 변환을 수행하려면 다음을 수행합니다. 수학 함수와 from_unixtime() 함수의 조합을 활용해야 합니다:
mysql> select from_unixtime(floor(1389422614485/1000));
설명
이 예에서는 from_unixtime() 함수를 사용하여 일반적으로 에포크 이후의 밀리초를 나타내는 에포크 숫자를 날짜 문자열로 변환합니다. 에포크 숫자는 밀리초 단위의 정밀도를 갖고 있는 것으로 보이므로, from_unixtime()이 기대하는 입력인 에포크 이후의 초로 변환하기 위해 Floor(1389422614485/1000)를 사용합니다.
출력
------------------------------------------ | from_unixtime(floor(1389422614485/1000)) | ------------------------------------------ | 2014-01-11 12:13:34 | ------------------------------------------
출력 주어진 시대 번호에 해당하는 사람이 읽을 수 있는 날짜를 'YYYY-MM-DD HH:MM:SS' 형식으로 표시합니다.
MySQL 8.0 이상 업데이트
MySQL 버전 8.0부터 from_unixtime() 함수에서 밀리초로 작업할 때 Floor 함수가 더 이상 필요하지 않습니다. 인수로 밀리초 단위의 에포크 번호를 직접 제공할 수 있습니다.
mysql> select from_unixtime(1594838230234/1000);
이렇게 하면 다음과 같은 출력이 생성됩니다.
------------------------------------------ | from_unixtime(1594838230234/1000) | ------------------------------------------ | 2020-07-15 18:37:10.2340 | ------------------------------------------
이 세련된 쿼리 버전은 이제 나노초 정밀도도 지원합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3