【发布时间】:2021-08-24 17:58:14
【问题描述】:
您好,我一直在研究如何在 DataStage 中获取昨天的日期?
CurrentDate()-1
当我编译作业时,它给了我一个错误。 那么我该怎么做才能获得昨天的日期? 顺便说一句,我在 Transformer 阶段做的代码
【问题讨论】:
标签: etl datastage ibm-infosphere
您好,我一直在研究如何在 DataStage 中获取昨天的日期?
CurrentDate()-1
当我编译作业时,它给了我一个错误。 那么我该怎么做才能获得昨天的日期? 顺便说一句,我在 Transformer 阶段做的代码
【问题讨论】:
标签: etl datastage ibm-infosphere
假设您在 DataStage 中使用并行引擎 - 这可能是一个解决方案
DateOffsetByComponents(CurrentDate(), 0, 0, -1)
因为最后一个参数是天部分,-1 会减去一天
【讨论】:
将日期转换为日期类型,然后可以加减天数。
您可以使用 IConv 将字符串转换为 datastage 内部日期格式。然后您可以对日期执行加法/减法。然后使用 OConv 将变量转换回字符串格式。
如果这是在变压器阶段完成的,则需要在一个语句中完成所有操作:
OConv(Iconv(VDate ,"D/YMD[4,2,2]") - 1), "D/YMD[4,2,2]")
希望这会有所帮助。
【讨论】:
在并行 Transformer 阶段,我会使用 DateFromDaysSince() 函数。以当前日期函数为基数,-1为偏移量。
【讨论】: