SQL Server 时间算差值/常用函数

项目中需要计算使用年限,按月份算。刚开始踩了坑,不足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

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

 --未转decimal=2
select DATEDIFF(MONTH,'2020-10-01 00:00:00',GETDATE())/12 as CusYear
go
--跨月即+1
select DATEDIFF(MONTH ,'2022-10-31 00:00:00','2022-11-1 00:00:00')

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

--向上取整 =3
select ceiling(2.0833333333333333333) 
--取整 =2
select floor(2.0833333333333333333)

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