点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我需要根据以下情况填充日期。
我得到的源数据是" 2年11个月17天"。 我必须使用sysdate()-2年,11个月,17天进行计算。
高度赞赏您对此的想法。
Dirk Venken -仅供参考。
谢谢
Vinay
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我需要根据以下情况填充日期。
我得到的源数据是" 2年11个月17天"。 我必须使用sysdate()-2年,11个月,17天进行计算。
高度赞赏您对此的想法。
Dirk Venken -仅供参考。
谢谢
Vinay
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我需要根据以下情况填充日期。
我得到的源数据是" 2年11个月17天"。 我必须使用sysdate()-2年,11个月,17天进行计算。
高度赞赏您对此的想法。
Dirk Venken -仅供参考。
谢谢
Vinay
我相信您可以通过多种方式解决此问题。 要记住的一点是,内部日期是以天为单位的十进制值。 因此,表达式sysdate()+ 1为您提供了明天的日期。 分数是时间。
不过,更好的方法是借助num_to_interval()函数显式指定间隔。
https://help.sap.com/viewer/8092b085a68941f6aaa6708685html62b0d/4.2.13/en-us
年份和月份现在让我有些担心。 2020.01.01减去2年是多少? 我假设2018.01.01。 那里的间隔将无济于事。 可能是date_part()?
更大的问题,什么是2020.02.29减去2个月? 还是2020.05.31-2个月?
谢谢沃纳。
我想知道如何使用date_part()函数处理源日期" 2年,11个月,17天",并使用sysdate()进行减法。
我将尝试将源日期调整为date_part()。 如果您有任何想法,那就太好了。
我似乎没有找到使用date_part的方法。 任何示例都会有所帮助
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;
您好 Vinay Kumar , p>
您也可以尝试以下逻辑。
#cast(word_ext(replace_substr(" Date",'year(s)',''),1,','),'int')-年 #cast(word_ext(replace_substr(" Date",'month(s)',''),2,','),'int')-月 #cast(word_ext(replace_substr(" Date",'day(s)',``),3,','),'int')-天
查询代码:
< pre> add_months(sysdate()-cast(word_ext(replace_substr(" Date",'day(s)',''),3,','),'int'), ((cast(word_ext(replace_substr(" Date",'year(s)',``),1,','),'int')* -12))+(cast(word_ext(replace_substr(" Date" ,'month(s)',''),2,','),'int')*-1))输出:
关于
Akhilesh 基兰。
一周热门 更多>