【发布时间】:2013-03-18 14:15:09
【问题描述】:
我必须实施一个解决方案,其中两个日期之间的差异可以是几个月或几天。
例如我在date1 和date2 开设了两个账户。我应该找出日期差异是超过一个月还是不到一个月。
实例 1 -
Date1 - 30-01-2007
Date2 - 01-03-2007
虽然日期差异是 30 天,不到一个月,但如果您看到整个 2 月已经过去,那么它应该在 1 个月的范围内。
实例 2 -
Date1 - 26-11-2007
Date2 - 26-12-2007
这里的日期差异是 30 天,因为经过的月份是 2007 年 11 月,所以应该与 30 比较。因此是 1 个月
实例 3 -
Date1 - 16-02-2010
Date2 - 17-03-2010
虽然日期差异是 29 天,但由于经过的月份是 2010 年 2 月。它应该与 28 进行比较。因此又是 1 个月。
Datediff 没有给出正确的结果。对于下面提到的 datediff,结果是 1。但结果实际上应该是 2。
select datediff(month,'2007-01-01','2007-02-28')
请帮忙。
【问题讨论】:
-
您的问题得到解答了吗?还是您需要更多帮助?
标签: sql sql-server