如何在Postgresql中为日期变量提供由整数变量组成的间隔
我试图从一个特定的日期中提取年数,正确的语法是如何在Postgresql中为日期变量提供由整数变量组成的间隔,sql,postgresql,date,Sql,Postgresql,Date,我试图从一个特定的日期中提取年数,正确的语法是 <date> - interval '5 years'; 我犯了一个错误,它不允许我这样做。正确的方法是什么。我相信你应该能够写: specific_date + (number_of_years || ' years')::INTERVAL (免责声明:未经测试,距离我上次做这种事情已经一年多了。)鲁克是对的;您可以使用字符串连接来创建一个区间文字,然后对其进行强制转换 我更喜欢使用日期数学来创建间隔,而不是字符串连接。依我看,它
<date> - interval '5 years';
我犯了一个错误,它不允许我这样做。正确的方法是什么。我相信你应该能够写:
specific_date + (number_of_years || ' years')::INTERVAL
(免责声明:未经测试,距离我上次做这种事情已经一年多了。)鲁克是对的;您可以使用字符串连接来创建一个区间文字,然后对其进行强制转换 我更喜欢使用日期数学来创建间隔,而不是字符串连接。依我看,它更干净
SELECT DATE '2012-01-01' + 10 * INTERVAL '1' YEAR;
在这里,您可以将
10
替换为所需的年数或占位符参数。如果您发现自己使用了“获取错误”、“不让我这样做”或“它不起作用”等短语,请:将它们删除并替换为特定的描述,或者最好是错误消息的确切文本。提及您的客户机语言和数据库驱动程序通常也会有所帮助。在所有问题中,请提及您的PostgreSQL版本。
SELECT DATE '2012-01-01' + 10 * INTERVAL '1' YEAR;