我必须实施一个解决方案,两个日期之间的差异可以是几个月或几天。
例如我在日期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年以来已经过去了。它应该与28进行比较。因此它再次为1个月。
Datediff没有给出正确的结果。对于下面提到的日期,结果是1.但结果应该是2。
select datediff(month,'2007-01-01','2007-02-28')
请帮忙。
答案 0 :(得分:0)
你将不得不手动完成。
使用日期差异,但传递天数。即:
select datediff(day,'2007-01-01','2007-02-28')
使用此号码,找出是哪个月份。即:
select datepart(month,'2007-01-01')
然后根据月份和过去的天数使用案例陈述。