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 ワーキングドラフトの謎を解く

推薦する

IDEA で Linux コマンドを使用する方法

Windows システムと比較して、Linux システムは多数の豊富なコマンドライン ツールを提供し...

MySQLへのJava接続の基礎となるカプセル化の詳細な説明

この記事では、Java接続MySQLの基礎となるカプセル化コードを参考までに紹介します。具体的な内容...

Linux コマンドで .sql ファイルをエクスポートおよびインポートする方法

この記事では、Linux コマンドを使用して .sql ファイルをエクスポートおよびインポートする方...

要素 el-button ボタンコンポーネントの使用の詳細な説明

1. 背景ボタンは非常によく使われており、Element のボタン機能は非常に包括的です。この記事で...

スタイルをより標準化するための CSS の書き方に関する 5 つのヒント

1. CSSをアルファベット順に並べるアルファベット順ではありません:コードをコピーコードは次のとお...

MySQL Server 8.0.13.0 インストールチュートリアル(画像とテキスト付き)

MySQL 6.1.3 をベースにした 8.0.13 をインストールします。 MySQL 8.0....

Chrome 73 によるフレックスレイアウトの崩れの解析と解決方法

現象プロジェクトにはネストされたフレックス構造がいくつかあります。 <スタイル> /* ...

いくつかの面接の質問を使ってJavaScriptの実行メカニズムを調べる

目次前の単語同期と非同期前菜プレートを追加マクロタスク マイクロタスク約束しましょうタイマーを追加す...

Vue3 でタイマーコンポーネントをカプセル化する方法

背景一部のショッピング モールの Web ページで商品の詳細を開くと、購入数量を選択するためのカウン...

Vueはテーブルページング機能を実装します

この記事では、テーブルページング機能を実現するためのVueの具体的なコードを例として紹介します。具体...

jsはreduceメソッドを使用してコードをよりエレガントにします

序文実際のプロジェクトでは、最も一般的な処理は計算とループロジックである可能性があります。配列でre...

Docker コマンドラインの完全ガイド (知っておくべき 18 のこと)

序文Docker イメージは Dockerfile といくつかの必要な依存関係で構成され、Docke...

Win10 + Ubuntu 16.04 デュアルシステム 完璧なインストールチュートリアル [詳細]

必ずデータをバックアップすることを忘れないでください。データは貴重なものです! ! !コンピュータモ...

HTMLの基本タグと構造の詳細な説明

1. HTMLの概要1.HTML: ハイパーテキスト マークアップ言語。これはプログラミング言語では...

SQL 実践演習: オンライン モール データベースの製品カテゴリ データ操作

オンラインショッピングモールデータベース - 商品カテゴリデータ操作(I)プロジェクトの説明電子商取...