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

DDD
リリース: 2024-10-30 03:01:28
オリジナル
965 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート