집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 Epoch 번호를 사람이 읽을 수 있는 날짜로 변환하는 방법은 무엇입니까?
데이터베이스 관리 영역에서는 에포크 번호를 사람이 읽을 수 있는 날짜로 변환해야 하는 경우가 많습니다. 정의된 에포크 이후 특정 시점을 나타내는 에포크 번호는 일반적으로 MySQL과 같은 데이터베이스 시스템에 시간 데이터를 저장하는 데 사용됩니다.
다음을 나타내는 1389422614485와 같은 에포크 번호가 있는 가상 시나리오를 생각해 보세요. 특정 시점. 이 값의 데이터 유형은 varchar이며 이를 이해하기 쉬운 날짜 형식으로 변환하려고 합니다.
자세한 솔루션
MySQL에서 이 변환을 수행하려면 다음을 수행합니다. 수학 함수와 from_unixtime() 함수의 조합을 활용해야 합니다.
<code class="sql">mysql> select from_unixtime(floor(1389422614485/1000));</code>
설명
이 예에서는 from_unixtime() 함수를 사용하여 변환합니다. 일반적으로 에포크 이후의 밀리초를 나타내는 에포크 번호를 날짜 문자열로 변환합니다. 에포크 숫자는 밀리초 단위의 정밀도를 갖고 있는 것으로 나타나기 때문에 Floor(1389422614485/1000)를 사용하여 에포크 이후의 초로 변환합니다. 이는 from_unixtime()이 예상하는 입력입니다.
출력
+------------------------------------------+ | 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 함수가 더 이상 필요하지 않습니다. 밀리초 단위의 에포크 숫자를 인수로 직접 제공할 수 있습니다.
<code class="sql">mysql> select from_unixtime(1594838230234/1000);</code>
이 결과는 다음과 같습니다.
+------------------------------------------+ | from_unixtime(1594838230234/1000) | +------------------------------------------+ | 2020-07-15 18:37:10.2340 | +------------------------------------------+
이 개선된 쿼리 버전은 이제 나노초 정밀도도 지원합니다. .
위 내용은 MySQL에서 Epoch 번호를 사람이 읽을 수 있는 날짜로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!