Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT DATEDIFF(MONTH, '2009-04-16', '2009-05-15')
- 1
- CREATE FUNCTION FullMonthsSeparation
- (
- @DateA DATETIME,
- @DateB DATETIME
- )
- RETURNS INT
- AS
- BEGIN
- DECLARE @Result INT
- DECLARE @DateX DATETIME
- DECLARE @DateY DATETIME
- IF(@DateA < @DateB)
- BEGIN
- SET @DateX = @DateA
- SET @DateY = @DateB
- END
- ELSE
- BEGIN
- SET @DateX = @DateB
- SET @DateY = @DateA
- END
- SET @Result = (
- SELECT
- CASE
- WHEN DATEPART(DAY, @DateX) > DATEPART(DAY, @DateY)
- THEN DATEDIFF(MONTH, @DateX, @DateY) - 1
- ELSE DATEDIFF(MONTH, @DateX, @DateY)
- END
- )
- RETURN @Result
- END
- GO
- SELECT dbo.FullMonthsSeparation('2009-04-16', '2009-05-15') as MonthSep -- =0
- SELECT dbo.FullMonthsSeparation('2009-04-16', '2009-05-16') as MonthSep -- =1
- SELECT dbo.FullMonthsSeparation('2009-04-16', '2009-06-16') as MonthSep -- =2
- SELECT DATEDIFF(DAY, '2009-04-16', '2009-05-15')/30
- , DATEDIFF(DAY, '2009-04-16', '2009-05-16')/30
- , DATEDIFF(DAY, '2009-04-16', '2009-06-16')/30
- months_between(to_date ('2009/05/15', 'yyyy/mm/dd'),
- to_date ('2009/04/16', 'yyyy/mm/dd'))
- round(months_between(to_date ('2009/05/15', 'yyyy/mm/dd'),
- to_date ('2009/04/16', 'yyyy/mm/dd')))
- select case when DATEPART(D,End_dATE) >=DATEPART(D,sTAR_dATE)
- THEN ( case when DATEPART(M,End_dATE) = DATEPART(M,sTAR_dATE) AND DATEPART(YYYY,End_dATE) = DATEPART(YYYY,sTAR_dATE)
- THEN 0 ELSE DATEDIFF(M,sTAR_dATE,End_dATE)END )
- ELSE DATEDIFF(M,sTAR_dATE,End_dATE)-1 END
- SELECT 12 * (YEAR(end_date) - YEAR(start_date)) +
- ((MONTH(end_date) - MONTH(start_date))) +
- SIGN(DAY(end_date) / DAY(start_date));
- Declare @Start DateTime
- Declare @End DateTime
- Set @Start = '11/1/07'
- Set @End = '2/29/08'
- Select DateDiff(Month, @Start, @End + 1)
Add Comment
Please, Sign In to add comment