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 カスタム オプション時間カレンダー コンポーネント

推薦する

NavicatがMySQL8.0.11に接続するとエラー2059が発生する

間違いNavicat Premium を使用して MySQL に接続すると、次のエラーが発生します。...

MySQL 実験: explain を使用してインデックスの傾向を分析する

概要インデックス作成は、MySQL で習得しなければならないスキルであり、MySQL クエリの効率を...

MySQL 8.0.11 Mac 用インストール ガイド

MACはmysql8.0をインストールします。具体的な内容は次のとおりです。 1. ダウンロードアド...

ローカルの Windows リモート デスクトップから Alibaba Cloud Ubuntu 16.04 サーバーに接続する方法

ローカル Windows リモート デスクトップが Alibaba Cloud Ubuntu 16....

MySQL での %% のようなファジークエリの実装

1、%: 0 個以上の任意の文字を表します。あらゆるタイプと長さの文字に一致します。場合によっては、...

Linux でソースインストールされたパッケージを簡単に削除する方法

ステップ1: Stowをインストールするこの例では CentOS を使用しているため、拡張 EPEL...

Linux ディスク管理 LVM の使用

1. LVM の概要Linux ディスクを管理するときに、このような状況に遭遇することがよくあります...

CSS3はテキストのレリーフ効果、彫刻効果、炎のテキストを実現します

この効果を実現するには、まず CSS のプロパティを知っておく必要があります。 text-shado...

Hadoop におけるネームノードとセカンダリネームノードの動作メカニズムの説明

1) プロセス 2) FSImageと編集NodeNode は HDFS の頭脳です。ファイルシステ...

Vueプロジェクトがグラフィック検証コードを実装

この記事の例では、グラフィック検証コードを実装するためのVueプロジェクトの具体的なコードを参考まで...

Angularルーティングサブルートの詳細な説明

目次1. サブルート構文2. 例1. 2つの新しいコンポーネントを作成し、その内容を変更する2. ル...

初心者向け入門講座⑧:記事サイトを簡単に作る

前回の投稿では、Web ページの作成方法について説明しました。Web サイトは多くの Web ページ...

CSS3 天子グリッドリストのスタイルの書き方

多くのプロジェクトでは、中央に灰色の分割線があり、両側に分割線がないグリッド表示の機能を実装する必要...

mysql8でルートユーザーのパスワードをリセットする手順を完了します

序文最近、多くの新しい同僚がこの質問をしてきました。特に、homebrew を通じて自動的にインスト...

(MariaDB) MySQL のデータ型とストレージメカニズムの包括的な説明

1.1 データ型の概要データ型は、各フィールドに保存できるデータの種類、保存できるデータの量、保存で...