專案中需要計算使用年限,按月份算,剛開始踩了坑,不足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.uj5u.com/shujuku/533564.html
標籤:SQL Server
下一篇:MongoDB - 入門指南
