Date Difference Excluding Weekend.
Hello,
Recently I need to find the date difference between two dates excluding weekends. So I have made sql server scalar function to get date difference excluding weekends. You need to pass only two arguments as start date and end date. Refer below example. I hope it may be helpful.
Declare @startDate date, @endDate date; Set @startDate = CONVERT(date,'03/11/2010'); Set @endDate = CONVERT(date,'03/25/2010'); select dbo.fun_getDateDiffExcludeWeekEnd(@startDate,@endDate)
Basically datediff function start count from next to @startDate so if you want to get count with @startdate you need add +1 in count.
select dbo.fun_getDateDiffExcludeWeekEnd(@startDate,@endDate) + 1
Otherwise you can write it like below syntax.
select dbo.fun_getDateDiffExcludeWeekEnd(dateadd(d,-1,@startDate),@endDate)
Function for get date different with exclude weekends.
CREATE FUNCTION [dbo].[fun_getDateDiffExcludeWeekEnd] ( @start datetime, @end datetime ) RETURNS numeric AS BEGIN DECLARE @WeedDay numeric = 0; DECLARE @TotalDayCount numeric = 0; SELECT @WeedDay = datepart(weekday,@end); IF @WeedDay = 1 BEGIN SELECT @end = DATEADD(d,1,@end); END IF @WeedDay = 7 BEGIN SELECT @end = DATEADD(d,2,@end); END SELECT @TotalDayCount = (DateDiff(d, @start, @end) - ( DateDiff(ww, @start, @end) * 2)); RETURN @TotalDayCount END
Recent Comments