我需要查找上一個時間段的日期 - 例如,如果給定月份是1月13日到3月13日,我需要能夠計算出前一時期是10月12日到12月12日。或者如果日期是7月12日到6月13日,我需要提出7月11日至6月12日。因此,基本上在x個月的時間段內,我需要返回另一個x個月的時間段,結束該月在指定的時間段之前。訪問SQL - 給定兩個日期,返回前一個時間段的日期
日期將始終是本月的第一天,因此2012年6月1日或2012年6月1日或1/6/2012取決於您在世界上的位置。
這個SQL查詢工作,但似乎當我其納入左連接的查詢上以後造成問題(見存在的問題:Access 2007 - Left Join to a query returns #Error instead of Null)
SELECT DATEADD("m",
1-(1+MONTH(QueryDates.EndDate)-MONTH(QueryDates.StartDate)+
(12*(YEAR(QueryDates.EndDate)-YEAR(QueryDates.StartDate)))),
DATEADD("m",-1,QueryDates.StartDate)) AS StartDatePrevious,
DATEADD("m",-1,QueryDates.StartDate) AS EndDatePrevious
FROM QueryDates;
它看起來有點瘋狂的從我這裏坐着,所以有一個更簡單的方法來完成這項任務;或者SQL有什麼問題可能會導致以後訪問Access?
謝謝,是的,這是有效的。不幸的是,它不能解決我正在進一步研究的#Error問題,必須找到解決方法,但它應該使其他人更容易計算查詢在我做什麼時做什麼不再對數據庫進行管理。 :) – Wilskt