我正在尝试从特定日期提取一定年份,因为正确的语法是
<date> - interval '5 years';
但我不想提取特定数量的年份而是提取变量,用户将作为参数提供。我尝试了以下变量名称是年:
date+interval '% years',years;
我收到了错误,并没有让我这样做。什么是正确的方法。
答案 0 :(得分:2)
我相信你应该写:
specific_date + (number_of_years || ' years')::INTERVAL
(免责声明:未经测试,自从我上次做这类事以来已经过去了一年多。)
答案 1 :(得分:0)
我更喜欢使用日期数学来创建间隔,而不是字符串连接。这是IMO,更清洁。
SELECT DATE '2012-01-01' + 10 * INTERVAL '1' YEAR;
在这里,您可以将10
替换为所需的年数或占位符参数。