我想计算几个月内两个日期之间的差额。
问题是:
SELECT DATEDIFF(mm, '2015-11-01', '2015-11-30')日期差返回0。我想用1代替。如果相差超过15天,那么它应该会转到下个月。
我试着用圆顶函数和30除法,但是它仍然没有给我想要的结果。
这个问题不同于“可能重复”的原因是因为我只寻找基于开始日期和结束日期的月份计算。另外,我的开始和结束日期结构是一个月的开始和一个月的结束,而不是确切的日期。
发布于 2017-05-02 13:39:18
尝尝这个。
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发布于 2017-05-01 18:56:37
试试这个:
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
https://stackoverflow.com/questions/43724666
复制相似问题