我想计算几个月内两个日期之间的差异。
问题:
SELECT DATEDIFF(mm, '2015-11-01', '2015-11-30')
日期差异返回0.我想显示1。如果差异超过15天,则应该到下个月。
我尝试使用圆形和天花板功能并除以30,但它仍然没有给我想要的结果。
这个问题不同于“可能重复”的原因是因为我只根据开始日期和结束日期查找月份计算。此外,我的开始日期和结束日期结构是月初和月末而不是确切日期。
答案 0 :(得分:1)
试试这个:
SELECT DATEDIFF(mm, '2015-11-01', '2015-11-30')
+ CASE WHEN (DATEDIFF(mm, '2015-11-01', '2015-11-30') = 0 and DATEDIFF(dd, '2015-11-01', '2015-11-30') > 15) THEN 1 ELSE 0 END CASE
答案 1 :(得分:0)
试试这个。
Select
DATEDIFF(mm, '2015-11-01', '2015-11-30')
+ CASE WHEN abs(DATEPART(day, '2015-11-01') - DATEPART(day, '2015-11-30')) > 15 THEN 1 ELSE 0 END