MySQL の時間差関数 TIMESTAMPDIFF と DATEDIFF の使用

MySQL の時間差関数 TIMESTAMPDIFF と DATEDIFF の使用

時間差関数 TIMESTAMPDIFF と DATEDIFF の使用

SQL ステートメント、特にストアド プロシージャを記述する場合、日付と時刻の比較と判断を頻繁に使用します。ここでは、これら 2 つの時間差比較関数の使用方法の例を示します。

datediff 関数は日数の差を返すもので、時間、分、秒にローカライズすることはできません。

-- 2 日の差 select datediff('2018-03-22 09:00:00', '2018-03-20 07:00:00');

TIMESTAMPDIFF 関数にはパラメータ設定があり、日 (DAY)、時間 (HOUR)、分 (MINUTE)、秒 (SECOND) の精度を指定できます。datediff 関数よりも柔軟に使用できます。 2つの時間を比較するときは、小さい方を前に、大きい方を後ろに置きます。

--1 日の差 select TIMESTAMPDIFF(DAY, '2018-03-20 23:59:00', '2015-03-22 00:00:00');
-- 差は 49 時間です select TIMESTAMPDIFF(HOUR, '2018-03-20 09:00:00', '2018-03-22 10:00:00');
-- 差は 2940 分です select TIMESTAMPDIFF(MINUTE, '2018-03-20 09:00:00', '2018-03-22 10:00:00');

-- 差は 176400 秒です select TIMESTAMPDIFF(SECOND, '2018-03-20 09:00:00', '2018-03-22 10:00:00');

ストアド プロシージャの記述方法:

注: var_committime は前回の業務で取得した比較に必要な時間です。

-- 現在の時刻を取得します。SET var_current_time = CONCAT(CURDATE(),' ',CURTIME());
-- 時間の比較 SET var_time_diff = TIMESTAMPDIFF(MINUTE, var_committime, var_current_time);

 
-- 未レビュー契約が 48 時間以上処理されていないかどうかを判断します。処理されていない場合は、後続の論理処理を実行し、そうでない場合は処理しません。
IF (var_time_diff > 2880) の場合

-- 関連するビジネスロジック処理 END IF;

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL 時間差関数 (TIMESTAMPDIFF、DATEDIFF)、日付変換計算関数 (date_add、day、date_format、str_to_date)
  • 実用的な MySQL + PostgreSQL バッチ挿入更新 insertOrUpdate
  • MYSQL row_number() および over() 関数の詳細な使用方法
  • MySQL の暗黙的な型変換によって発生するインデックス障害の解決策
  • MySQLデータクエリが多すぎるとOOMが発生するかどうかについての簡単な議論
  • Django は MySQL マスター スレーブを構築して読み取りと書き込みの分離を実現します
  • MySQL マルチテーブル結合クエリの詳細な説明
  • MySQL における TIMESTAMPDIFF ケースの詳細な説明

<<:  Dockerコンテナデータをコピーしてバックアップする方法の詳細な説明

>>:  Vue カスタム オプション時間カレンダー コンポーネント

推薦する

Linuxコマンドのファイル上書きとファイル追加の詳細な説明

1. コマンド > と >> の違いコマンド>: ファイルが存在する場合は、...

ReactでuseStateを使用する詳細な例

使用状態useState は、関数コンポーネント内で呼び出すことで、コンポーネントに内部状態を追加し...

jQuery+swiper コンポーネントはタイムラインのスライド年タブ切り替え効果を実現します

結果: 実装コード: スワイパーコンポーネントと一緒に使用する必要がありますSwiper 基本デモア...

DeepinでPyenvをインストールする手順

序文これまでは、/bin/ ディレクトリのソフトリンクを変更して Python のバージョンを切り替...

Docker で MySQL をインストールし、リモート接続を実装するチュートリアル

画像をプルする docker プル mysql完成した画像を見る Docker イメージイメージを介...

HTML Webページ作成チュートリアル iframeタグを慎重に使用してください

iframe を使用すると、他の Web サイトのページを簡単に呼び出すことができますが、注意して使...

Centos7のシステム言語を簡体字中国語に変更する方法

例示するシステムを自分でインストールする場合は、通常、システム言語をカスタマイズできます。ただし、ク...

HTML テーブル マークアップ チュートリアル (16): タイトルの水平方向の配置属性 ALIGN

デフォルトでは、表のタイトルは水平方向に中央揃えされます。ALIGN 属性を使用して、タイトル テキ...

スライダー検証コードを実装するJavaScript

この記事では、スライダー検証コードを実装するためのJavaScriptの具体的なコードを参考までに共...

Vue で 3D タグ クラウドを実装するための詳細なコード

プレビュー: コード:ページセクション: <テンプレート> <div class=...

Spring Boot 階層化パッケージング Docker イメージの実践と分析 (推奨)

目次1. Springbootプロジェクトを準備する2. 関連する設定を実行する3.パッケージ4.D...

Vue 仮想リストの実例

目次序文デザイン成し遂げるまとめ序文最近は、いつも延々とスワイプしています。 Weibo をチェック...

優れたグラフィックデザイナーが習得すべき7つのスキル

1》ウェブデザインが得意であること2》Webページのデザイン方法を知る3》計画する4. SEOを理解...

Nginx ベースのアクセス制御と接続制限の実装

序文Nginxの組み込みモジュールは、同時リクエスト数の制限とリクエストのソースの制限をサポートして...

MySQL で特殊文字を含むデータベース名を作成する方法の例

序文この記事では、MySQL で特殊文字を使用してデータベース名を作成する方法について説明します。こ...