-
kira110 数据达人Lv4
发表于2021-1-19 15:18
悬赏100
已解决
楼主
运用逻辑检查新建规则,写了如下检查公式,但是系统提示
trunc(months_between( to_date(ACTUALMATURITY,'YYYY/MM/DD') , to_date(PUTOUTDATE,'YYYY/MM/DD'))) = actualtermmonth
请问如果不用months_between函数的话要怎么写呀 ?
trunc(months_between( to_date(ACTUALMATURITY,'YYYY/MM/DD') , to_date(PUTOUTDATE,'YYYY/MM/DD'))) = actualtermmonth
请问如果不用months_between函数的话要怎么写呀 ?
最佳答案
kira110 发表于 2021-1-19 15:36
是的,两个日期相差的月数。用trunc向下取整了
嗯嗯可以,取相差月份用left right mid等截取出月份或用LISTMONTHS 返回两个月份之间的月份数组再用数组对象函数length求长
5个回答
kira110 发表于 2021-1-19 15:36
是的,两个日期相差的月数。用trunc向下取整了
嗯嗯可以,取相差月份用left right mid等截取出月份或用LISTMONTHS 返回两个月份之间的月份数组再用数组对象函数length求长
xxxl 发表于 2021-1-19 15:19
嗯嗯可以,取相差月份用left right mid等截取出月份或用LISTMONTHS 返回两个月份之间的月份数组再用数组 ...
真的。。。能建议研发添加一个months_between函数么。。。if( (mid(BUSINESS_DUEBILL.ACTUALMATURITY,5,2)='02'& BUSINESS_DUEBILL.ACTUALMATURITY = od(asdate(BUSINESS_DUEBILL.ACTUALMATURITY),'d=lastday')) & mid(BUSINESS_DUEBILL.PUTOUTDATE,8,2)>='29' & BUSINESS_DUEBILL.PUTOUTDATE < od(asdate(BUSINESS_DUEBILL.PUTOUTDATE),'d=lastday'),_N(listmonths(BUSINESS_DUEBILL.ACTUALMATURITY,BUSINESS_DUEBILL.PUTOUTDATE)) -2 , _N(listmonths(BUSINESS_DUEBILL.ACTUALMATURITY,BUSINESS_DUEBILL.PUTOUTDATE)) - 1) = actualtermmonth 这是用自带函数写出来的months_between还要判断月末和2月。真的太难了。对于部分人来说着实没法上手了
kira110 发表于 2021-1-20 15:00
真的。。。能建议研发添加一个months_between函数么。。。if( (mid(BUSINESS_DUEBILL.ACTUALMATURITY,5,2 ...
嗯嗯 这个您可以直接在内网的需求里提,同时发邮件到产品侧,因为社区上目前没有睿治的需求建议区