MySQL でのタイムスタンプ間の時間差の計算
多くの開発者は、2 つのタイムスタンプ間の時間差を決定する必要があると感じています。 MySQL では、これを実現するための複数のアプローチがあり、それぞれに長所と考慮事項があります。
1 つの方法は、TIMEDIFF() 関数と TIME_TO_SEC() 関数を利用することです。このメソッドは時差を秒単位で返します。
SELECT TIME_TO_SEC(TIMEDIFF('2010-08-20 12:01:00', '2010-08-20 12:00:00')) diff;
もう 1 つのアプローチは、@Amber が提案しているように、UNIX_TIMESTAMP() 関数を使用することです。
SELECT UNIX_TIMESTAMP('2010-08-20 12:01:00') - UNIX_TIMESTAMP('2010-08-20 12:00:00') diff;
TIMESTAMP データ型の場合、UNIX_TIMESTAMP () メソッドは、内部タイムスタンプ値に直接アクセスするため、高速であると主張されています。ただし、TIMEDIFF() は TIME 値を返し、範囲 (-838:59:59 ~ 838:59:59) に制限があることに注意することが重要です。これは、時差が大きいシナリオには適していない可能性があります。
結論として、開発者は、アプリケーションのデータ型と特定の要件に応じて、MySQL で時差を計算するための複数のオプションを利用できます。
以上がMySQL でタイムスタンプ間の時間差を効率的に計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。