ホームページ  >  記事  >  データベース  >  MySQL でエポック番号をミリ秒精度で人間が判読できる日付に変換するにはどうすればよいですか?

MySQL でエポック番号をミリ秒精度で人間が判読できる日付に変換するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-30 03:01:28963ブラウズ

How to Convert Epoch Numbers with Millisecond Precision to Human-Readable Dates in MySQL?

MySQL でエポック番号を人間が判読できる日付に変換する

問題:

エポック番号 (例: 1389422614485) は VARCHAR データ型として保存されていますが、人間が判読できる日付と時刻に効率的に変換するにはどうすればよいですか?

解決策:

MySQL の場合、次の手順を使用して、ミリ秒精度のエポック番号を人間が判読できる形式に変換できます。

  1. from_unixtime() 関数を使用して、エポック番号を UNIX タイムスタンプに変換します。
  2. ミリ秒を考慮してエポック番号を 1000 で割ります。この手順は、MySQL バージョン 8.0 以降では必要ない場合があります。
  3. MySQL の古いバージョンの場合は、floor() 関数を使用して結果を最も近い秒に切り捨てます。

これらをすべて組み合わせると、次の SQL クエリを使用できます:

<code class="sql">SELECT from_unixtime(floor(epoch_number / 1000));</code>

例:

エポック番号 1389422614485 を考えます:

<code class="sql">mysql> SELECT from_unixtime(floor(1389422614485 / 1000));
+------------------------------------------+
| from_unixtime(floor(1389422614485 / 1000)) |
+------------------------------------------+
| 2014-01-11 12:13:34                      |
+------------------------------------------+</code>

MySQL 8.0 以降では、floor() 関数は必要ありません:

<code class="sql">mysql> SELECT from_unixtime(1389422614485 / 1000);
+------------------------------------------+
| from_unixtime(1594838230234 / 1000)        |
+------------------------------------------+
| 2020-07-15 18:37:10.2340                 |
+------------------------------------------+</code>

以上がMySQL でエポック番号をミリ秒精度で人間が判読できる日付に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。