诸如此类(可能需要交换1和0,未经测试)
datediff(month,[DateEngaged],getdate()) + CASE WHEN DATEPART(day, [DateEngaged]) < DATEPART(day, getdate()) THEN 1 ELSE 0 END
DATEDIFF测量月份边界,例如每月1号的00:00时间,而不是每月的周年纪念日
编辑:看到OP的评论后,如果开始日期>结束日期必须减去1
DATEDIFF (month, DateEngaged, getdate()) - CASE WHEN DATEPART(day, DateEngaged) > DATEPART(day, getdate()) THEN 1 ELSE 0 END
因此,对于12月20日至1月13日,DATEDIFF给出1,然后20> 13,因此减去1 =零个月。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)