[解決済み] MySQL: 2つのタイムスタンプの差を秒単位で取得する方法
2022-08-10 17:11:50
質問
MySQL で、2 つのタイムスタンプの差を秒単位で表示するクエリを作成する方法はありますか?または PHP でそれを行う必要がありますか?もしそうなら、私はどのようにそれを行うために行くのでしょうか?
どのように解決するのですか?
あなたは
TIMEDIFF()
と
TIME_TO_SEC()
の関数は次のようになります。
SELECT TIME_TO_SEC(TIMEDIFF('2010-08-20 12:01:00', '2010-08-20 12:00:00')) diff;
+------+
| diff |
+------+
| 60 |
+------+
1 row in set (0.00 sec)
また
UNIX_TIMESTAMP()
という関数を
琥珀色の提案
を他の回答で提案しています。
SELECT UNIX_TIMESTAMP('2010-08-20 12:01:00') -
UNIX_TIMESTAMP('2010-08-20 12:00:00') diff;
+------+
| diff |
+------+
| 60 |
+------+
1 row in set (0.00 sec)
もしあなたが
TIMESTAMP
のデータ型を使用しているのであれば、おそらく
UNIX_TIMESTAMP()
ソリューションの方がわずかに速いでしょう。
TIMESTAMP
の値はすでにエポックからの秒数を表す整数として保存されているからです (
ソース
). を引用して
ドキュメント
:
いつ
UNIX_TIMESTAMP()
が使われている場合TIMESTAMP
カラムで使用された場合、この関数は暗黙の "string-to-Unix-timestamp" 変換を行わず、内部のタイムスタンプ値を直接返します。覚えておいてほしいのは
TIMEDIFF()
のデータ型を返すTIME
.TIME
の値は '-838:59:59' から '838:59:59' (およそ 34.96 日) までの範囲になります。
関連
-
[解決済み] [GROUP BY句に含まれるか、集約関数で使用される必要があります。
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] MySQLのクエリ結果をCSV形式で出力するにはどうすればよいですか?
-
[解決済み] ずっとUTF-8
-
[解決済み] MySQLで'insert if not exists'を行うにはどうしたらいいですか?
-
[解決済み] Git で古いコミットのタイムスタンプを変更するにはどうしたらいいですか?
-
[解決済み] MySQLのことです。変数 vs. 変数。その違いは何ですか?
-
[解決済み】ジョインとサブクエリの比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLのデータバックアップにmysqldumpを使用する方法
-
MySQL Innodb インデックスメカニズム詳細解説
-
MySQLインストールチュートリアル(Linux版
-
[解決済み] 親の行を削除または更新できない:外部キー制約が失敗する
-
[解決済み】SQLサーバーのテンポラリーテーブルで「すでに名前のついたオブジェクトがあります」エラーが発生する。
-
MySQLの一般的な分割ライブラリおよび分割テーブルスキームの概要
-
Mysql がエラーを報告 オペランドには 1 つのカラムが含まれている必要があります。
-
Mysql がエラー 1241 を報告 オペランドは 1 つのカラムを含む必要があります。
-
[解決済み] ユーザー 'root'@'localhost' (パスワード: YES を使用) のアクセス拒否 - 特権がない?
-
[解決済み] MySQL で特定のカラム名を持つすべてのテーブルを見つけるにはどうすればよいですか?