项目中需要计算使用年限,按月份算。刚开始踩了坑,不足1年应该按1年算。记录下~

 

和当前时间比较,用DATEDIFF函数DateDiff(month,比较的时间,getdate())先算出月份,再除以12算年份

查看代码

--月份差值 2.083333
select CONVERT(decimal,DATEDIFF(MONTH,'2020-10-01 00:00:00',GETDATE()))/12 as MonthDiff
go


这里的分母不转Decimal是6位小数,不知道为什么,有知道的大神可以给我解疑下

查看代码
 --月份差值 2.0833333333333333333
select CONVERT(decimal,DATEDIFF(MONTH,'2020-10-01 00:00:00',GETDATE()))/CONVERT(decimal,12) as MonthDiff
go

 

用ceiling函数向上取整,这里注意需要先转Decimal类型才能计算

查看代码
 --未转decimal,向上取整 =2
select ceiling(DATEDIFF(MONTH,'2020-10-01 00:00:00',GETDATE())/12) as CusYear
go
--转decimal再向上取整 =3
select ceiling(CONVERT(decimal,DATEDIFF(MONTH,'2020-10-01 00:00:00',GETDATE()))/12) as CusYear
go

最终算出2020-10-01到现在,年限3年,Over~

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/youyoufei/p/16888739.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!