首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于日期Server 2008 R2计算月差

问基于日期Server 2008 R2计算月差
EN

Stack Overflow用户
提问于 2017-05-01 18:49:02
回答 2查看 662关注 0票数 0

我想计算几个月内两个日期之间的差额。

问题是:

代码语言:javascript
复制
SELECT DATEDIFF(mm, '2015-11-01', '2015-11-30')

日期差返回0。我想用1代替。如果相差超过15天,那么它应该会转到下个月。

我试着用圆顶函数和30除法,但是它仍然没有给我想要的结果。

这个问题不同于“可能重复”的原因是因为我只寻找基于开始日期和结束日期的月份计算。另外,我的开始和结束日期结构是一个月的开始和一个月的结束,而不是确切的日期。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-02 13:39:18

尝尝这个。

代码语言:javascript
复制
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
票数 0
EN

Stack Overflow用户

发布于 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43724666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档