我正在使用具有StartDate和EndDate字段的表。我需要找出幾年之間的差異。獲取年份中兩個日期之間的差異
示例: 的StartDate = 2017年1月1日 結束日期= 2017年12月31日
我期望的日期差值結果= 1。
另外,我想將它四捨五入到最接近的整數。
示例: 的StartDate = 2017年1月1日 結束日期= 2017年11月30日
我期望的日期差值結果= 1。
使用datediff函數,我能夠得到結果,但它不是四捨五入到最接近的整數。
例子查詢: 我聽到6年份甚至那邊在幹什麼月份/ 12將低於5.5:
select (DATEDIFF(yy, '01/01/2016', '5/31/2021')
+ CASE WHEN abs(DATEPART(day, '01/01/2016') - DATEPART(day, '05/31/2021')) > 15 THEN 1 ELSE 0 END)
select (DATEDIFF(mm, '01/01/2016', '05/31/2021')
+ CASE WHEN abs(DATEPART(day, '01/01/2016') - DATEPART(day, '05/31/2021')) > 15 THEN 1 ELSE 0 END)
您是否嘗試過使用'ROUND'功能? – cwanjt
我嘗試了一輪函數,但它保持返回0而不是1。我希望看到0,如果返回小於.5,如果超過.5返回,則返回1。我可以似乎做1. – NonProgrammer
我剛剛意識到我的錯誤。我沒有正確使用循環函數:我認爲這將起作用:select round(1.3,0) – NonProgrammer