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

推薦する

レスポンシブレイアウトについて知っておくべきこと

1. はじめにレスポンシブ Web デザインにより、Web サイトは複数のデバイスと複数の画面に同時...

nginx設定ファイルの場所を見つける方法の詳細な説明

よく知らないサーバーの場合や、かなり前にインストールした場所を忘れてしまった場合、構成ファイルの場所...

JS のあらゆる場所で絶対等価演算子の使用をやめる

目次概要1. NULL値のテスト2. ユーザー入力を読み取る導入事実の根源はどこにあるのでしょうか?...

Win10にMySQL8圧縮パッケージ版をインストールするチュートリアル

1 公式サイトからMySQL8をダウンロードしてインストールするMySQL8 ダウンロードアドレスこ...

UA による Web サイトのクロールを防ぐ Nginx のクローラー対策戦略

クローラー対策ポリシー ファイルを追加しました: vim /usr/www/server/nginx...

Vueタブとキャッシュページを切り替えるいくつかの方法

目次1. 切り替え方法2. タブを動的に生成する3. キャッシュコンポーネント3.1 キープアライブ...

CSSレコードテキストアイコン配置のいくつかのソリューション

開発中に画像とテキストが 1 行に表示されることはよくあります。2 つのインライン要素を揃えるのは通...

CSS画像結合技術(スプライト画像)の詳しい説明

CSS画像結合技術1. 画像のステッチ画像ステッチング技術は、個々の画像を収集する技術です。画像の多...

プライベートウェアハウス(レジストリとハーバー)を構築するためのDockerの実装

使用される Docker イメージが増えるにつれて、イメージを保存する場所、つまりウェアハウスが必要...

CentOS 7 で MySQL 接続数が 214 に制限される問題の解決方法

問題を見つける最近、プロジェクトで問題が発生しました。接続が多すぎるため、「接続が多すぎます」という...

js でクラスセレクターと名前属性セレクターを実装する手順の例

jQuery の登場により、DOM の操作効率が大幅に向上し、開発がより高いレベルに引き上げられまし...

MySql ログイン パスワードを忘れた場合とパスワードを忘れた場合の解決策

方法1: MySQL では、次のコマンド ラインで MySQL サーバーを起動することにより、アクセ...

Node.js のイベント モジュールに関する知識ポイントのまとめ

Node の研究と応用を通じて、NodeJS はシングルスレッド、イベント駆動型、非ブロッキング I...

Vueはブラウザ側のコードスキャン機能を実装します

背景少し前にブラウザカメラの取得とスキャンコード認識の機能を作りました。その際の知識ポイントと具体的...

WeChat アプレットの日付と時刻のコンポーネント (年、月、日、時間、分)

この記事の例では、WeChatアプレットの日付と時刻コンポーネントの具体的なコードを参考までに共有し...