MySQL DATEDIFF() で日付を比較する方法
Grace Collins
Solutions Engineer · Leapcell

Key Takeaways
DATEDIFF()
は、MySQL で 2 つの日付の間の日数を計算します。- 正または負の結果は、2 つの日付の順序を反映しています。
- 一般的なユースケースには、最近のレコードのフィルタリングや日付ベースのメトリクスの計算が含まれます。
MySQL では、日付の操作は一般的なタスクであり、2 つの日付の差を計算することは、レポート、データ分析、および時間に基づいたレコードのフィルタリングで特に役立ちます。DATEDIFF()
関数は、この目的のために最も簡単で頻繁に使用される関数の 1 つです。
この記事では、DATEDIFF()
とは何か、その仕組み、および SQL クエリでそれを使用する方法の実用的な例について説明します。
DATEDIFF()
とは?
MySQL の DATEDIFF()
関数は、2 つの日付の間の日数を返します。2 番目の日付(終了日)を最初の日付(開始日)から減算し、結果を整数として返します。
構文:
DATEDIFF(date1, date2)
date1
: 最初の date (開始日)date2
: 2 番目の date (終了日)
注: 結果は date1 - date2
です。date1
が date2
より前の場合は、結果が負になります。
DATEDIFF()
の使用例
1. 基本的な例
SELECT DATEDIFF('2025-04-25', '2025-04-20') AS days_difference;
結果:
days_difference
---------------
5
これは、2025 年 4 月 25 日と 2025 年 4 月 20 日の間に 5 日あることを示しています。
2. 負の結果
SELECT DATEDIFF('2025-04-20', '2025-04-25') AS days_difference;
結果:
days_difference
---------------
-5
最初の日付がより早い場合、結果は負になります。
3. WHERE 句で DATEDIFF()
を使用する
過去 30 日以内に行われたすべての注文を見つけたいとします。
SELECT * FROM orders WHERE DATEDIFF(CURDATE(), order_date) <= 30;
このクエリは、現在の日付と order_date
の差が 30 日以下の注文を取得します。
使用例
DATEDIFF()
が役立つ一般的なシナリオを次に示します。
- 期限切れのタスクまたは支払いの検索
- レコードの年齢の計算
- 時間枠に基づくデータのフィルタリング(例:過去 7 日間、過去 90 日間)
- 2 つのイベントタイムスタンプ間の期間の測定
考慮事項
DATEDIFF()
は、日付間の完全な日数のみを返します。時間、分、秒は考慮しません。DATE
値とDATETIME
値の両方で動作しますが、時間の部分は無視されます。
結論
DATEDIFF()
関数は、MySQL で日付を比較するためのシンプルでありながら強力なツールです。レポートの生成、時間ベースの KPI の監視、またはユーザーアクティビティの分析を行う場合でも、DATEDIFF()
は日付フィールドから有意義な洞察を抽出するのに役立ちます。
FAQs
いいえ、DATEDIFF()
は完全な日数の差のみを計算します。
はい、ただし日付部分のみが使用されます。時間の部分は無視されます。
結果は負の数になり、前の日数が示されます。
Leapcell は、バックエンドプロジェクトをホストするための最適な選択肢です。
Leapcell は、ウェブホスティング、非同期タスク、および Redis の次世代サーバーレスプラットフォームです。
多言語サポート
- Node.js、Python、Go、または Rust で開発します。
無制限のプロジェクトを無料でデプロイ
- 使用量に対してのみ支払い — リクエストも請求もありません。
比類のない費用対効果
- アイドル料金なしの従量課金制。
- 例:25 ドルで、平均応答時間 60 ミリ秒で 694 万のリクエストをサポートします。
合理化された開発者エクスペリエンス
- 簡単なセットアップのための直感的な UI。
- 完全に自動化された CI/CD パイプラインと GitOps 統合。
- 実用的な洞察のためのリアルタイムメトリックとロギング。
簡単なスケーラビリティと高性能
- 簡単な高並行性を処理するための自動スケーリング。
- 運用上のオーバーヘッドはゼロ — 構築に集中してください。
ドキュメントで詳細をご覧ください!
X でフォローしてください: @LeapcellHQ