如何获取SQL Server 2005中两个日期之间的月份数

如何获取SQL Server 2005中两个日期之间的月份数,第1张

如何获取SQL Server 2005中两个日期之间的月份数

诸如此类(可能需要交换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 =零个月。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5035741.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存