MONTHS_BETWEEN函数的用法
语法
MONTHS_BETWEEN(日期字段1, 日期字段2)
--说明:返回两个日期相差的月数,不足一月则按天计算小数值,只允许传入日期型字段
示例:
MONTHS_BETWEEN([离职日期], [入职日期] ),返回同一行上"离职日期"至"入职日期"间隔月数
适用场景
场景1:计算上月的月末跟日期字段的月数差。
【步骤1】新建一个字段,算出上月的月末:last_day(add_months(now(),-1))
结果如下:
【步骤2】用MONTHS_BETWEEN函数算出月份差:MONTHS_BETWEEN([上月最后一天],[日期])
结果如下:
也可以直接把两个函数套在一起使用:MONTHS_BETWEEN( last_day(add_months(now(),-1)) ,[日期])
场景2:日期、月末对齐问题
① 如果是本月有31天,跟上月对比,那么上月的31号的月份差是1,30号就是有小数点的;
② 如果是本月有30天,跟上月天对比,那么上月的30和31号的月份差是一样的,都是1;
③ 如果是2月份有28天,跟上月对比,那么1月28号和1月31号的月份差都是1,1月29号和1月30号就是有小数点的:
注意事项
1、MONTHS_BETWEEN([日期1], [日期2] ),如果日期1大于日期2,那么返回为正数,反之,为负数:
2、如果日期1和日期2是所在月份的最后一天,或者是同一天,那么返回的会是整数,否则差额按每月31天计算: