我分别将年份和月份作为pentaho中的参数传递,并将月份加1并转换为日期格式。我这样写是为了加入年,月和日。
('${year}' || '-' || '${month}'+1 || '-' || 1 )::date
我需要从现有日期开始将月份增加1。如果月份是12月(12),则新的日期月份将是1(1月),年份将是下一年。
例如:2012-12-30新日期将是2013-01-30
如何在postgreSQl中为此编写查询?
答案 0 :(得分:3)
在将转换为日期后添加月份:
('${year}' || '-' || '${month}' || '-' || 1 )::date + interval '1' month
答案 1 :(得分:2)
Postgresql提供了多个date/time functions and operators。要将日期增加1个月,您需要使用interval
运算符。如上面上面的回答中所述,您需要先将参数更改为日期字段,然后再添加 interval '1' month
。这将获得所需的结果。
您还可以尝试使用Pentaho 计算器步骤将日期增加1个月。检查下图。
以下是上述ktr的gist。
希望有所帮助:)