年を無視して日付計算を実行する方法
年を除いて、今後 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 サイトの他の関連記事を参照してください。