SQL Server - DATEDIFF舍入错误

问题描述:

在我的sql语句中,我需要检索datediff超过3个月的行。SQL Server - DATEDIFF舍入错误

但是我发现,似乎有四舍五入问题,如

起始日期:2010-09-09
要日期:2010-12-01

select datediff(month,' 2010-09-09', '2010-12-01') 

它的结果返回3。

如何解决?谢谢。

问候, 乔

+1

3是几个月的几个月的正确结果 –

+2

datediff的几个月忽略了一天的价值。 – mellamokb

+0

您能否详述一下:您期待什么价值?为什么? – Lee

你可以使用

datediff(day,@d1,@d2) >= 90 
+0

技术上不太正确。最好几个月后再做手动比较。 – mellamokb

+2

马蹄铁和手榴弹:) – Matt

则DateDiff(月,DATE1,DATE2)将只比较月份之间的差异程度,并没有考虑几天考虑。

为了计算日期之间的实际月数,您将不得不做一些手动工作。

This answer

看起来是一个匹配你问什么,但你可能有取决于什么是“月”的区别你的具体定义进行修改(包括部分月份?)。