Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
Solved

# Last 4 fiscal years for a given date

Posted on 2014-10-02
Medium Priority
229 Views
Greetings,

I have to come up with the last 4 fiscal years for a given date.
Can someone kindly help?
0
Question by:pvsbandi
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 4
• 2
• 2

LVL 18

Expert Comment

ID: 40357380
You say "come up with the last 4 fiscal years for a given date", but what exactly do you mean?

In detail, what are you trying to accomplish?
0

Author Comment

ID: 40359947
I need it for the Where clause in my SQL query, to get the date range for the last 4 fiscal years (October 1st to September 30th each year), based on the given date.
0

LVL 18

Expert Comment

ID: 40359998
It would be tremendously helpful if you told us what you're trying to accomplish and included some details of your table layout and content.

You say you want to "get the date range for the last 4 fiscal years", but then you immediately detailed the date-range for those fiscal years.

I suppose if you're just trying to see if a certain date is within a given fiscal year, you'd just use:

WHERE someDate between '2014-10-01' and '2015-09-30'

0

Author Comment

ID: 40360044
OK. Let's assume, my input date is today.
Based on this date, the last 4 fiscal years are:
FY11: Oct 1, 2010 through Sep 30, 2011
FY12: Oct 1, 2011 through Sep 30, 2012
FY13: Oct 1, 2012 through Sep 30, 2013
FY14: Oct 1 2013 through Sep 30, 2014.

I want the dates like that bsed on the Input Date.
0

LVL 27

Expert Comment

ID: 40365016
So, the result of the query should be the set of those eight dates?

Tom
0

Author Comment

ID: 40367478
Yes
0

LVL 27

Accepted Solution

tliotta earned 2000 total points
ID: 40372378
Then basically you'd select from a table of FiscalYearDates:
``````WHERE FiscalStartDate > (checkDate - 5 YEARS)
AND FiscalEndDate < checkDate
``````

Assume a FiscalYearDates table with these rows:
``````FiscalStartDate  FiscalEndDate
Oct 1, 2009 	Sep 30, 2010
Oct 1, 2010 	Sep 30, 2011
Oct 1, 2011 	Sep 30, 2012
Oct 1, 2012 	Sep 30, 2013
Oct 1, 2013 	Sep 30, 2014
Oct 1, 2014 	Sep 30, 2015
``````
Assuming checkDate is 2014-10-03 as in your comment, then ( checkDate - 5 YEARS ) will be = 2009-10-03. The set of all FiscalStartDates greater than that is (Oct 1 2010, Oct 1 2011, Oct 1 2012, Oct 1 2013, Oct 1 2014). The set of all FiscalEndDates less than checkDate is (Sep 30 2010, Sep 30 2011, Sep 30 2012, Sep 30 2013, Sep 30 2014).

Now the AND connector puts those two together and gives this result set:
``````FiscalStartDate  FiscalEndDate
Oct 1, 2010 	Sep 30, 2011
Oct 1, 2011 	Sep 30, 2012
Oct 1, 2012 	Sep 30, 2013
Oct 1, 2013 	Sep 30, 2014
``````
You might create a physical FiscalYearDates table or create a temporary one, perhaps as a CTE. It shouldn't really matter, though I'd think that a real table could be referenced in a few different queries.

Tom
0

Author Closing Comment

ID: 40373319
Thank you! that's a good idea
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Recursive SQL in UDB/LUW (you can use 'recursive' and 'SQL' in the same sentence) A growing number of database queries lend themselves to recursive solutions.  It's not always easy to spot when recursion is called for, especially for people unaâ€¦
Recursive SQL in UDB/LUW (it really isn't that hard to do) Recursive SQL is most often used to convert columns to rows or rows to columns.  A previous article described the process of converting rows to columns.  This article will build off of thâ€¦
In this video, Percona Director of Solution Engineering Jon Tobin discusses the function and features of Percona Server for MongoDB. How Percona can help Percona can help you determine if Percona Server for MongoDB is the right solution for â€¦
Want to learn how to record your desktop screen without having to use an outside camera. Click on this video and learn how to use the cool google extension called "Screencastify"! Step 1: Open a new google tab Step 2: Go to the left hand upper cornâ€¦
###### Suggested Courses
Course of the Month6 days, 12 hours left to enroll