ホームページ >データベース >mysql チュートリアル >年を無視して日付計算を実行するにはどうすればよいですか?

年を無視して日付計算を実行するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-31 22:17:10327ブラウズ

How Can I Perform Date Calculations Ignoring the Year?

年を無視して日付計算を実行する方法

年を除いて、今後 14 日以内に記念日がある日付を選択するには、次のことを考慮してください。次のアプローチを使用します:

SELECT *
FROM event
WHERE f_mmdd(event_date) BETWEEN f_mmdd(current_date)
                            AND     f_mmdd(current_date + 14);

このクエリは f_mmdd() 関数を使用して計算します。日付の MMDD パターンからの整数値。結果の値は、現在の日付と 14 日後の日付との比較に使用されます。

f_mmdd() 関数は次のように定義されます。

CREATE OR REPLACE FUNCTION f_mmdd(date)
  RETURNS int LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT AS
'SELECT EXTRACT(month FROM )::int * 100 + EXTRACT(day FROM )::int';

この関数では、 events_mmdd_event_date_idx 列に複数列の式インデックスを作成し、クエリのパフォーマンスを最適化します。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。