MySQL DATEDIFF 関数を使用して 2 つの日付間の時間間隔を取得する方法

MySQL DATEDIFF 関数を使用して 2 つの日付間の時間間隔を取得する方法

説明する

2 つの日付間の時間間隔を返します。

文法

DateDiff(間隔、日付1、日付2 [、週の最初の曜日[、年の最初の週]])

DateDiff 関数の構文には次の引数があります。

パラメータ説明する
間隔必須。 date1 と date2 の間で計算される時間間隔を表す文字列式。値については設定セクションを参照してください。
日付1、日付2必須。日付表現。計算に使用される 2 つの日付。
週の最初の曜日オプション。週の最初の曜日を指定する定数。指定しない場合は、デフォルトで日曜日になります。値については設定セクションを参照してください。
年の最初の週オプション。年の最初の週を指定する定数。指定されていない場合は、1 月 1 日を含む曜日がデフォルトになります。値については設定セクションを参照してください。

設定

間隔パラメータには次の値を指定できます。

設定説明する
ああ
q四半期
メートル
ええ年間の日数
d
曜日
わーい
h時間
メートル
s 2番

firstdayofweek パラメータには次の値を指定できます。

絶え間ない価値説明する
vbUseSystem 0各国語サポート (NLS) API 設定を使用します。
vb日曜日1日曜日(デフォルト)
vb月曜日2月曜日
vb火曜日3火曜日
vb水曜日4水曜日
vb木曜日5木曜日
vb金曜日6金曜日
vb土曜日7土曜日

firstweekofyear パラメータには次の値を指定できます。

絶え間ない価値説明する
vbUseSystem 0各国語サポート (NLS) API 設定を使用します。
vb最初の1月1 1 1 月 1 日で終わる週から開始します (デフォルト)。
vb最初の4日間2新年の最初の週のうち、少なくとも 4 日間ある週から始まります。
vb最初のフルウィーク3新年の最初の週から始まります。

例示する

DateDiff 関数は、2 つの日付間に存在する指定された時間間隔の数を決定します。たとえば、DateDiff を使用して、2 つの日付間の日数や、現在の日付と年の最終日の間の週数を計算できます。

date1 と date2 の間の日数を計算するには、「年間通算日数」(「y」) または「日数」(「d」) を使用できます。間隔が「曜日」(「w」)の場合、DateDiff は 2 つの日付間の週番号を返します。 date1 が月曜日の場合、DateDiff は date2 より前の月曜日の数を計算します。この結果には date2 が含まれますが、date1 は含まれません。間隔が「週」(「ww」)の場合、DateDiff 関数はカレンダー テーブル内の 2 つの日付間の週数を返します。この関数は、date1 と date2 の間の日曜日の数を計算します。 DateDiff は、date2 が日曜日の場合、date2 を評価しますが、date1 が日曜日であっても date1 を評価しません。

date1 が date2 より後の場合、DateDiff 関数は負の数を返します。

firstdayofweek パラメータは、「w」および「ww」間隔シンボルを使用した計算に影響します。

date1 または date2 が日付リテラルの場合、指定された年は日付の固定部分になります。ただし、date1 または date2 が引用符 (" ") で囲まれ、年が省略されている場合は、コード内で date1 または date2 式が評価されるたびに現在の年が挿入されます。これにより、さまざまな年に機能するプログラム コードを記述できます。

間隔が「年」(「yyyy」) の場合、12 月 31 日と翌年の 1 月 1 日を比較すると、実際には 1 日しか離れていないにもかかわらず、DateDiff は 1 年の差があることを示す 1 を返します。

MySQL では、DATEDIFF(date1, date2) は開始時刻 date1 と終了時刻 date2 の間の日数を返します。 date1 と date2 は日付または日付と時刻の式です。これらの値の日付部分のみが計算に使用されます。

【例】DATEDIFF() 関数を使用して、2 つの日付間の日数を計算します。入力 SQL 文と実行結果を以下に示します。

mysql> SELECT DATEDIFF('2017-11-30','2017-11-29') AS COL1,
  -> DATEDIFF('2017-11-30','2017-12-15') を col2 として計算します。
+------+------+
| 列1 | 列2 |
+------+------+
| 1 | -15 |
+------+------+
セット内の 1 行 (0.00 秒)

実行結果から、DATEDIFF() 関数は date1-date2 後の値を返すことがわかります。したがって、DATEDIFF('2017-11-30', '2017-11-29') の戻り値は 1 で、DATEDIFF('2017-11-30 23:59:59', '2017-12-15') の戻り値は -15 です。

これで、MySQL DATEDIFF 関数を使用して 2 つの日付間の時間間隔を取得する方法についてのこの記事は終了です。MySQL DATEDIFF 日付時間間隔の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySql クエリ期間メソッド
  • MySQLで日付と時刻を照会する方法
  • 時間別にグループ化された MySQL クエリ ステートメント
  • MySql データベースの時系列間隔クエリメソッド

<<:  Redhat 8.0 システムのインストール方法に関するグラフィック チュートリアル (初心者には必須)

>>:  HTML 5 ワーキングドラフトの謎を解く

推薦する

ブルートフォース攻撃を防ぐためのシェルスクリプト設定

シェルスクリプトはアクセス制御を設定し、複数回のログイン失敗後にIPをブロックしてSSHのブルートフ...

この記事はVueのライフサイクルを理解するのに役立ちます

目次1. beforeCreate & created 2. マウント前とマウント済み3. ...

CSSのoutline-offsetプロパティを使用してプラス記号を実装する

次のような初期コードがあると仮定します。 <!DOCTYPE html> <htm...

MySQL5.7.03 上位バージョンから MySQL 5.7.17 への置き換えインストール プロセスと見つかった問題の解決策

1. インストール方法は? 1. [実行] -> [cmd] と入力して、小さな黒いウィンドウ...

Linuxシステムにおけるキー認証に基づくSSHサービスのプロセス

ご存知のとおり、SSH は現在、リモート ログイン セッションやその他のネットワーク サービスにセキ...

デュアル VIP を使用した高可用性 MySQL クラスタの構築

目次1. プロジェクトの説明: 2. プロジェクト環境: 2. プロジェクトの手順: 3. プロジェ...

ページングのどのページでMySQLのレコードをクエリするか

序文実際には、次のような問題に遭遇する可能性があります。特定のレコードの ID がわかっていて、その...

ネイティブ Js で実装されたシンプルなシームレス スクロール カルーセルのサンプル コード

シンプルなシームレススクロールカルーセルには多くの抜け穴があり、後から画像を追加するのは非常に不便で...

CSS 擬似要素::マーカーの詳細な説明

この記事では、CSS ::markerの興味深い疑似要素を紹介します。これを使用すると、テキスト番号...

Webデザインチュートリアル(3):デザインの手順と考え方

<br />前のチュートリアル:Webデザインチュートリアル(2):模倣と盗作について。...

ウェブページに埋め込まれた Flash と IE、FF、Maxthon の互換性の問題

いろいろ苦労した後、インターネットで検索したり、以前の会社のプロジェクトを探したり、他の人のプロジェ...

IE8互換表示(IE7モード)とスタンドアロンIE7の違いの詳細な説明

1つ。 IE8 互換表示の概要<br />新しいバージョンのブラウザが古い Web サイ...

OracleデータをMySQLデータベースに抽出する実装プロセス

Oracle データベースから MySQL データベースへの移行では、Oracle データベース モ...

Vue要素ツリーコントロールに点線を追加する詳細な説明

目次1. 成果を達成する2. 実装コード3. その他の実装要約する1. 成果を達成する 2. 実装コ...

単一マシン上での Tomcat の複数インスタンスの実装

1. はじめにまず、1 台のマシンで複数のインスタンスを使用する理由という質問に答える必要があります...