我必须实现一个解决方案,其中两个日期之间的差异可以是几个月或几天。
例如,我在日期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')请帮帮忙。
发布于 2013-03-18 22:59:41
您将不得不手动完成此操作。
使用日期不同,但传入天数。即:
select datediff(day,'2007-01-01','2007-02-28')使用这个数字,找出哪个月是。即:
select datepart(month,'2007-01-01')然后根据月份和经过的天数使用case语句。
https://stackoverflow.com/questions/15478956
复制相似问题