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

推薦する

Docker ベースの MySQL マスタースレーブ レプリケーションを実装する方法

序文MySQL マスター/スレーブ レプリケーションは、アプリケーションの高パフォーマンスと高可用性...

MySQLデータのグループ化の詳細な説明

グループを作成グループ化は、SELECT ステートメントの GROUP BY 句で設定されます。例:...

Windows 10 での Tomcat のインストールと展開に関する詳細なチュートリアル

目次1 Java環境の設定2 tomcatのインストールと展開Tomcat をインストールして展開す...

Vueコンポーネントの動的コンポーネントの詳細な説明

目次要約する要約する配列が変更されると、対応するデータを動的にロードしますシナリオ: 異なるコンポー...

HTMLページ作成に関する私の経験の簡単な要約

Word of Mouth に入社して 3 ~ 4 か月が経ちました。仕事の中で一番の収穫は、ビジュ...

mysql 実行プラン ID が空である (UNION キーワード) の詳細な説明

導入作業プロセス中に、遅いクエリが調整されることがあります。 MySQL SQL ステートメントのチ...

SSH経由でリモートLinuxシステムでコマンドを実行する方法

場合によっては、リモート マシンでいくつかのコマンドを実行する必要があることがあります。これが時々行...

MySQLシリーズ マルチテーブル結合クエリ92および99構文例詳細チュートリアル

目次1. デカルト積現象2. 接続クエリの知識ポイントのまとめ1) 結合クエリとは何ですか? 2) ...

MySQL での and or クエリの優先度分析

これは見落とされがちな問題かもしれません。まず、次の点を明確にする必要があります。 MySQL では...

CentOS 8 インストール図 (超詳細なチュートリアル)

CentOS 8 が正式にリリースされました! CentOS は Red Hat の再配布ポリシー...

Docker環境を構築する簡単な方法

まず、Docker とは何かを理解しましょう。 Docker は、アプリケーションをデプロイするため...

CSS 表示テーブルの適応的な高さと幅の問題の解決策

定義と使用法display プロパティは、要素が生成するボックスのタイプを指定します。例示するこの属...

MySql 自動切り捨て例の詳細な説明

MySql 自動切り捨て例の詳細な説明友人が質問しました。プロジェクト内で挿入または更新ステートメン...

Vue ルーティング this.route.push ジャンプ ページが更新されない場合の解決策

Vue ルーティング this.route.push ジャンプ ページが更新されない1. 背景概要:...

MySQL トランザクション分析

取引トランザクションはビジネス ロジックの基本単位です。各トランザクションは一連の SQL ステート...