このために特定の日付から年数を抽出しようとしていますが、正しい構文は次のとおりです
<date> - interval '5 years';
しかし、特定の年数を抽出するのではなく、ユーザーがパラメーターとして提供する変数を抽出したくありません。次の変数名を試してみました:
date+interval '% years',years;
エラーが発生しましたが、そのようにすることはできません。それを行う正しい方法は何でしょうか。
このために特定の日付から年数を抽出しようとしていますが、正しい構文は次のとおりです
<date> - interval '5 years';
しかし、特定の年数を抽出するのではなく、ユーザーがパラメーターとして提供する変数を抽出したくありません。次の変数名を試してみました:
date+interval '% years',years;
エラーが発生しましたが、そのようにすることはできません。それを行う正しい方法は何でしょうか。
私はあなたが書くことができるはずだと信じています:
specific_date + (number_of_years || ' years')::INTERVAL
(免責事項:テストされていません。この種のことを最後に行ってから1年以上経ちました。)
ルアクは正しいです。文字列連結を使用して間隔リテラルを作成し、キャストすることができます。
文字列の連結ではなく、日付計算を使用して間隔を作成することを好みます。それは、IMO、クリーナーです。
SELECT DATE '2012-01-01' + 10 * INTERVAL '1' YEAR;
10
ここで、希望する年数またはプレースホルダー パラメーターに置き換えることができます。