Solved

SQL going back to start and end of month for 2 months ago

Posted on 2014-03-13
8
414 Views
Last Modified: 2014-03-13
I need to build out 2 parameters for a start and end date that goes back 2 months.  In this example, it is currently March so my start date will be 1/1/2014 and my end date will be 1/31/14.

I got the start date with this:   =DateAdd("m", -2, DateSerial(Year(Now()), Month(Now()), 1))

If I use this for the end date:  =DateAdd("d", -1, DateSerial(Year(Now()), Month(Now()), 1))
 it obviously brings in 2/28/14 instead of 1/31/14.  I'm not sure how to combine the 2 for my end date so it becomes 1/31/14.
0
Comment
Question by:cindyfiller
[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
  • Learn & ask questions
8 Comments
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 39927560
Use another dateadd (month,-1, .... ) to achieve that result
0
 
LVL 65

Expert Comment

by:Jim Horn
ID: 39927573
fyi SQL Server 2012 introduces the EOMONTH function, which will return the end of the month for any passed day.

SELECT EOMONTH(GETDATE()) when run now returns 2014-03-31.
0
 

Author Comment

by:cindyfiller
ID: 39927601
I was trying to do another dateadd, but wasn't doing it in the right spot - it was bombing out on me.  Something wasn't right!
0
Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

 

Author Comment

by:cindyfiller
ID: 39927603
Unfortunately I'm still on 2008 eomonth won't work.
0
 
LVL 69

Accepted Solution

by:
Scott Pletcher earned 500 total points
ID: 39927667
Maybe endDate =

 DateAdd("d", -1, DateAdd("m", 1, DateSerial(Year(Now()), Month(Now()), 1)))

?
0
 

Author Comment

by:cindyfiller
ID: 39927682
Thank you - that worked with one slight tweak.   I had to do -1 for DateAdd("m", -1...
0
 
LVL 69

Expert Comment

by:Scott Pletcher
ID: 39927772
D'OH, sorry, quite right, I misread the end date you were looking as being the end of the current month, not the previous month.
0
 

Author Comment

by:cindyfiller
ID: 39927792
It was easy to fix and your code worked, so I sincerely appreciate it!
0

Featured Post

Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

Question has a verified solution.

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

Let's review the features of new SQL Server 2012 (Denali CTP3). It listed as below: PERCENT_RANK(): PERCENT_RANK() function will returns the percentage value of rank of the values among its group. PERCENT_RANK() function value always in be…
Why is this different from all of the other step by step guides?  Because I make a living as a DBA and not as a writer and I lived through this experience. Defining the name: When I talk to people they say different names on this subject stuff l…
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
Via a live example, show how to shrink a transaction log file down to a reasonable size.

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question