如果月份是12月,则将年份增加1

时间:2015-02-09 07:19:12

标签: postgresql pentaho

我分别将年份和月份作为pentaho中的参数传递,并将月份加1并转换为日期格式。我这样写是为了加入年,月和日。

('${year}' || '-' || '${month}'+1 || '-' || 1 )::date

我需要从现有日期开始将月份增加1。如果月份是12月(12),则新的日期月份将是1(1月),年份将是下一年。
例如:2012-12-30新日期将是2013-01-30
如何在postgreSQl中为此编写查询?

2 个答案:

答案 0 :(得分:3)

在将转换为日期后添加月份

('${year}' || '-' || '${month}' || '-' || 1 )::date + interval '1' month

答案 1 :(得分:2)

Postgresql提供了多个date/time functions and operators。要将日期增加1个月,您需要使用interval运算符。如上面上面的回答中所述,您需要先将参数更改为日期字段,然后再添加 interval '1' month。这将获得所需的结果。

您还可以尝试使用Pentaho 计算器步骤将日期增加1个月。检查下图。

enter image description here

以下是上述ktr的gist

希望有所帮助:)