ホームページ > データベース > mysql チュートリアル > MySQL で 2 つの日付間の月の差を正確に計算するにはどうすればよいですか?

MySQL で 2 つの日付間の月の差を正確に計算するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-01 14:32:14
オリジナル
360 人が閲覧しました

How Can I Accurately Calculate the Month Difference Between Two Dates in MySQL?

MySQL での日付間の月の差の計算

MySQL は、TIMESTAMPDIFF() 関数。タイムスタンプを月の秒数の近似値で割るのとは異なり、TIMESTAMPDIFF() を使用すると、月の長さと閏年の変動を考慮して正確な結果が得られます。

精度のない月の差

2 つの日付の間の経過月数を小数点精度なしで取得するには、次のコマンドを使用します。構文:

TIMESTAMPDIFF(MONTH, 'start_date', 'end_date')
ログイン後にコピー
この式は、開始日と終了日の間の完全な月数を直接返します。

精度のある月の差

部分的な月を考慮した小数値を含む、正確な月差の計算には、これを使用します。式:

TIMESTAMPDIFF(MONTH, startdate, enddate) +
DATEDIFF(
    enddate,
    startdate + INTERVAL
      TIMESTAMPDIFF(MONTH, startdate, enddate)
    MONTH
  ) /
  DATEDIFF(
    startdate + INTERVAL
      TIMESTAMPDIFF(MONTH, startdate, enddate) + 1
    MONTH,
    startdate + INTERVAL
      TIMESTAMPDIFF(MONTH, startdate, enddate)
    MONTH
  )
ログイン後にコピー
このより複雑な式は月の差を正確に計算し、「2012-05-05」と「2012-05-27」の 27 日の差に対して 0.7097 などの値を返します。 .

以上がMySQL で 2 つの日付間の月の差を正確に計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート