如何在DataStage的Transformer中获取上月最后一天(dd/mm/yyyy格式)
DataStage Transformer获取上月最后一天并格式化的解决方案
DataStage Transformer没有直接获取上月最后一天的内置函数,但可以通过组合现有日期函数实现需求,直接将以下表达式赋值给COL_C字段即可:
StringFromDate(DateAdd(CurrentDate(), "D", 1 - DayOfMonth(CurrentDate())), "%dd/%mm/%yyyy")
表达式拆解:
DayOfMonth(CurrentDate()):获取当前日期的日份(比如15号就返回15)1 - DayOfMonth(...):计算从当前日期回到当月1号需要减去的天数(比如15号的话就是1-15=-14)DateAdd(CurrentDate(), "D", ...):对当前日期减去上述天数,得到上月最后一天的日期类型值StringFromDate(..., "%dd/%mm/%yyyy"):将日期类型值转换为dd/mm/yyyy格式的字符串
扩展:基于指定日期计算
如果需要基于某个特定日期字段(而非当前日期)计算上月最后一天,替换CurrentDate()为目标字段即可:
StringFromDate(DateAdd(YourTargetDateField, "D", 1 - DayOfMonth(YourTargetDateField)), "%dd/%mm/%yyyy")
内容的提问来源于stack exchange,提问作者Enzo Niro
相关产品推荐
相关产品推荐

