在SAP Data Services中计算日期

2020-08-22 11:07发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我需要根据以下情况填...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我需要根据以下情况填充日期。

我得到的源数据是" 2年11个月17天"。 我必须使用sysdate()-2年,11个月,17天进行计算。

高度赞赏您对此的想法。

Dirk Venken -仅供参考。

谢谢

Vinay

5条回答
悠然的二货
2020-08-22 11:50

1),您可以创建一个自定义函数以从字符串中提取年,月,日

2)然后先从系统日期中减去天,然后使用add_month函数从示例中删除月份和年份
:add_months((sysdate()-17),(-1 * 11)+( -12 * 2))

自定义函数:
$ L_INPUT = $ P_INPUT;

$ P_YEARS = nvl(ltrim_blanks(rtrim_blanks(SUBSTR($ L_INPUT,1,index($ L_INPUT,'year(s)',1)-1))),'0');

IF(index($ L_INPUT,'year(s)',1)不为空)

开始

$ L_INPUT = SUBSTR($ L_INPUT,index($ L_INPUT,'year(s)',1)+8,4000);

结束

$ P_MONTHS = nvl(ltrim_blanks(rtrim_blanks(SUBSTR($ L_INPUT,1,index($ L_INPUT,'month(s)',1)-1))),'0');

IF(index($ L_INPUT,'month(s)',1)不为空)

开始

$ L_INPUT = SUBSTR($ L_INPUT,index($ L_INPUT,'month(s)',1)+9,4000);

结束

$ P_DAYS = nvl(ltrim_blanks(rtrim_blanks(SUBSTR($ L_INPUT,1,index($ L_INPUT,'day(s)',1)-1))),'0');

返回$ P_YEARS;

一周热门 更多>