Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 7th, 2012  |  syntax: None  |  size: 0.92 KB  |  hits: 9  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. sql date parameter in query
  2. declare @StartDate DATE
  3. declare @EndDate   DATE
  4. SET @StartDate = DATEADD(MONTH, -12, '2012-08-01')
  5. SET @EndDate = DATEADD(MONTH, +1, '2012-08-01')
  6.        
  7. DECLARE
  8.   @InputDate DATE,
  9.   @StartDate DATE,
  10.   @EndDate   DATE
  11.  
  12. SET
  13.   @InputDate = '2012-08-01'
  14.  
  15. SET
  16.   @StartDate = DATEADD(MONTH, DATEDIFF(MONTH, 0, @InputDate) - 11, 0)
  17.  
  18. SET
  19.   @EndDate   = DATEADD(DAY, -1, DATEADD(MONTH, 12, @StartDate))
  20.        
  21. WHERE
  22.       table.dateField >= '2011-09-01'
  23.   AND table.dateField <  '2012-09-01'
  24.        
  25. SET @EndDate = DATEADD(DAY, -1, @EndDate)
  26.        
  27. SET @EndDate = DATEADD(DAY, -1,DATEADD(MONTH, +1, '2012-08-01'))
  28.        
  29. declare @Date DATE='2012-08-05'
  30. select convert(date,DateAdd(Month, DateDiff(Month, 0, @Date)-11,0)) StartDate ,
  31.                        convert(date,DateAdd(day,-1,DateAdd(Month,1,
  32.                        DateAdd(Month, DateDiff(Month, 0, @Date),0)))) EndDate
  33.        
  34. StartDate       EndDate
  35. 2011-09-01  2012-08-31