<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: SQL SERVER &#8211; UDF &#8211; User Defined Function to Find Weekdays Between Two Dates</title>
	<atom:link href="http://blog.sqlauthority.com/2007/05/05/sql-server-udf-user-defined-function-to-find-weekdays-between-two-dates/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sqlauthority.com/2007/05/05/sql-server-udf-user-defined-function-to-find-weekdays-between-two-dates/</link>
	<description>Personal Notes of Pinal Dave</description>
	<lastBuildDate>Fri, 10 Feb 2012 04:45:32 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Vams</title>
		<link>http://blog.sqlauthority.com/2007/05/05/sql-server-udf-user-defined-function-to-find-weekdays-between-two-dates/#comment-163249</link>
		<dc:creator><![CDATA[Vams]]></dc:creator>
		<pubDate>Mon, 29 Aug 2011 14:42:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/05/sql-function-to-find-weekdays-between-two-dates/#comment-163249</guid>
		<description><![CDATA[@BT-Microlink

The latest function still has missing logic.Can you please repost the complete function again.
Thanks!]]></description>
		<content:encoded><![CDATA[<p>@BT-Microlink</p>
<p>The latest function still has missing logic.Can you please repost the complete function again.<br />
Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: BT-MicroLink</title>
		<link>http://blog.sqlauthority.com/2007/05/05/sql-server-udf-user-defined-function-to-find-weekdays-between-two-dates/#comment-96146</link>
		<dc:creator><![CDATA[BT-MicroLink]]></dc:creator>
		<pubDate>Wed, 27 Oct 2010 17:57:58 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/05/sql-function-to-find-weekdays-between-two-dates/#comment-96146</guid>
		<description><![CDATA[Test for revised function:

DECLARE @Date AS datetime
SET @Date = &#039;10-27-2010&#039;

SELECT dbo.WeekDayDiff(DATEADD(d,-10,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,-9,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,-8,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,-7,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,-6,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,-5,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,-4,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,-3,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,-2,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,-1,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,0,@Date), @Date);

SELECT dbo.WeekDayDiff(DATEADD(d,10,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,9,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,8,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,7,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,6,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,5,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,4,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,3,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,2,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,1,@Date), @Date);
SELECT dbo.WeekDayDiff(DATEADD(d,0,@Date), @Date);]]></description>
		<content:encoded><![CDATA[<p>Test for revised function:</p>
<p>DECLARE @Date AS datetime<br />
SET @Date = &#8217;10-27-2010&#8242;</p>
<p>SELECT dbo.WeekDayDiff(DATEADD(d,-10,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,-9,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,-8,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,-7,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,-6,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,-5,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,-4,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,-3,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,-2,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,-1,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,0,@Date), @Date);</p>
<p>SELECT dbo.WeekDayDiff(DATEADD(d,10,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,9,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,8,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,7,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,6,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,5,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,4,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,3,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,2,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,1,@Date), @Date);<br />
SELECT dbo.WeekDayDiff(DATEADD(d,0,@Date), @Date);</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: BT-MicroLink</title>
		<link>http://blog.sqlauthority.com/2007/05/05/sql-server-udf-user-defined-function-to-find-weekdays-between-two-dates/#comment-96145</link>
		<dc:creator><![CDATA[BT-MicroLink]]></dc:creator>
		<pubDate>Wed, 27 Oct 2010 17:57:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/05/sql-function-to-find-weekdays-between-two-dates/#comment-96145</guid>
		<description><![CDATA[Duly noted. Some of my own testing revealed issues when the @StartDate was after the @EndDate. Revised function:

CREATE FUNCTION [dbo].[WeekDayDiff]

(
@StartDate datetime,
@EndDate datetime 
)
RETURNS int

AS

BEGIN

DECLARE @TotalDays INT
DECLARE @WorkDays INT
DECLARE @WeekendStartDate INT
DECLARE @WeekendEndDate INT
DECLARE @Weeks INT
DECLARE @FinalWeekDays INT

SET @TotalDays = DATEDIFF(day, @StartDate, @EndDate)
SELECT @WeekendStartDate = CASE DATENAME(weekday, @StartDate)
									WHEN &#039;Saturday&#039; THEN 1
									WHEN &#039;Sunday&#039; THEN 1
									ELSE 0 
								  END
SELECT @WeekendEndDate = CASE DATENAME(weekday, @EndDate)
									WHEN &#039;Saturday&#039; THEN 1
									WHEN &#039;Sunday&#039; THEN 1
									ELSE 0 
								  END
SET @TotalDays = CASE WHEN DATEPART(dw,@StartDate) &gt; DATEPART(dw,@EndDate) AND @StartDate &lt; @EndDate THEN @TotalDays - 2
					WHEN DATEPART(dw,@StartDate) &lt;= DATEPART(dw,@EndDate) AND @StartDate &lt;= @EndDate THEN @TotalDays - (@WeekendStartDate + @WeekendEndDate)
					WHEN DATEPART(dw,@StartDate)  @EndDate THEN @TotalDays + 2
					WHEN DATEPART(dw,@StartDate) &gt;= DATEPART(dw,@EndDate) AND @StartDate &gt;= @EndDate THEN @TotalDays + (@WeekendStartDate + @WeekendEndDate)
				 END
SET @Weeks = @TotalDays / 7;
SET @FinalWeekDays = @TotalDays % 7;
SET @WorkDays = CASE WHEN @Weeks = 0 AND (@StartDate = @EndDate OR @WeekendStartDate + @WeekendEndDate = 2) THEN 0
					WHEN @Weeks = 0 AND @StartDate  @EndDate THEN @TotalDays
					ELSE (@Weeks * 5) + @FinalWeekDays
			    END

RETURN @WorkDays 

END

GO]]></description>
		<content:encoded><![CDATA[<p>Duly noted. Some of my own testing revealed issues when the @StartDate was after the @EndDate. Revised function:</p>
<p>CREATE FUNCTION [dbo].[WeekDayDiff]</p>
<p>(<br />
@StartDate datetime,<br />
@EndDate datetime<br />
)<br />
RETURNS int</p>
<p>AS</p>
<p>BEGIN</p>
<p>DECLARE @TotalDays INT<br />
DECLARE @WorkDays INT<br />
DECLARE @WeekendStartDate INT<br />
DECLARE @WeekendEndDate INT<br />
DECLARE @Weeks INT<br />
DECLARE @FinalWeekDays INT</p>
<p>SET @TotalDays = DATEDIFF(day, @StartDate, @EndDate)<br />
SELECT @WeekendStartDate = CASE DATENAME(weekday, @StartDate)<br />
									WHEN &#8216;Saturday&#8217; THEN 1<br />
									WHEN &#8216;Sunday&#8217; THEN 1<br />
									ELSE 0<br />
								  END<br />
SELECT @WeekendEndDate = CASE DATENAME(weekday, @EndDate)<br />
									WHEN &#8216;Saturday&#8217; THEN 1<br />
									WHEN &#8216;Sunday&#8217; THEN 1<br />
									ELSE 0<br />
								  END<br />
SET @TotalDays = CASE WHEN DATEPART(dw,@StartDate) &gt; DATEPART(dw,@EndDate) AND @StartDate &lt; @EndDate THEN @TotalDays &#8211; 2<br />
					WHEN DATEPART(dw,@StartDate) &lt;= DATEPART(dw,@EndDate) AND @StartDate &lt;= @EndDate THEN @TotalDays &#8211; (@WeekendStartDate + @WeekendEndDate)<br />
					WHEN DATEPART(dw,@StartDate)  @EndDate THEN @TotalDays + 2<br />
					WHEN DATEPART(dw,@StartDate) &gt;= DATEPART(dw,@EndDate) AND @StartDate &gt;= @EndDate THEN @TotalDays + (@WeekendStartDate + @WeekendEndDate)<br />
				 END<br />
SET @Weeks = @TotalDays / 7;<br />
SET @FinalWeekDays = @TotalDays % 7;<br />
SET @WorkDays = CASE WHEN @Weeks = 0 AND (@StartDate = @EndDate OR @WeekendStartDate + @WeekendEndDate = 2) THEN 0<br />
					WHEN @Weeks = 0 AND @StartDate  @EndDate THEN @TotalDays<br />
					ELSE (@Weeks * 5) + @FinalWeekDays<br />
			    END</p>
<p>RETURN @WorkDays </p>
<p>END</p>
<p>GO</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pinaldave</title>
		<link>http://blog.sqlauthority.com/2007/05/05/sql-server-udf-user-defined-function-to-find-weekdays-between-two-dates/#comment-92976</link>
		<dc:creator><![CDATA[pinaldave]]></dc:creator>
		<pubDate>Thu, 14 Oct 2010 06:00:06 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/05/sql-function-to-find-weekdays-between-two-dates/#comment-92976</guid>
		<description><![CDATA[Hi,

If you try your query you will get a bit different result.

SELECT dbo.WeekDayDiff(GETDATE()-10, GETDATE());
SELECT dbo.WeekDayDiff(GETDATE()-9, GETDATE());
SELECT dbo.WeekDayDiff(GETDATE()-8, GETDATE());
SELECT dbo.WeekDayDiff(GETDATE()-7, GETDATE());
SELECT dbo.WeekDayDiff(GETDATE()-6, GETDATE());
SELECT dbo.WeekDayDiff(GETDATE()-5, GETDATE());
SELECT dbo.WeekDayDiff(GETDATE()-4, GETDATE());
SELECT dbo.WeekDayDiff(GETDATE()-3, GETDATE());
SELECT dbo.WeekDayDiff(GETDATE()-2, GETDATE());
SELECT dbo.WeekDayDiff(GETDATE()-1, GETDATE());

Result:
-----------
8
-----------
7
-----------
6
-----------
5
-----------
4
-----------
3
-----------
4
-----------
3
-----------
2
-----------
1


Would you please check?

Kind Regards,]]></description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>If you try your query you will get a bit different result.</p>
<p>SELECT dbo.WeekDayDiff(GETDATE()-10, GETDATE());<br />
SELECT dbo.WeekDayDiff(GETDATE()-9, GETDATE());<br />
SELECT dbo.WeekDayDiff(GETDATE()-8, GETDATE());<br />
SELECT dbo.WeekDayDiff(GETDATE()-7, GETDATE());<br />
SELECT dbo.WeekDayDiff(GETDATE()-6, GETDATE());<br />
SELECT dbo.WeekDayDiff(GETDATE()-5, GETDATE());<br />
SELECT dbo.WeekDayDiff(GETDATE()-4, GETDATE());<br />
SELECT dbo.WeekDayDiff(GETDATE()-3, GETDATE());<br />
SELECT dbo.WeekDayDiff(GETDATE()-2, GETDATE());<br />
SELECT dbo.WeekDayDiff(GETDATE()-1, GETDATE());</p>
<p>Result:<br />
&#8212;&#8212;&#8212;&#8211;<br />
8<br />
&#8212;&#8212;&#8212;&#8211;<br />
7<br />
&#8212;&#8212;&#8212;&#8211;<br />
6<br />
&#8212;&#8212;&#8212;&#8211;<br />
5<br />
&#8212;&#8212;&#8212;&#8211;<br />
4<br />
&#8212;&#8212;&#8212;&#8211;<br />
3<br />
&#8212;&#8212;&#8212;&#8211;<br />
4<br />
&#8212;&#8212;&#8212;&#8211;<br />
3<br />
&#8212;&#8212;&#8212;&#8211;<br />
2<br />
&#8212;&#8212;&#8212;&#8211;<br />
1</p>
<p>Would you please check?</p>
<p>Kind Regards,</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: BT-MicroLink</title>
		<link>http://blog.sqlauthority.com/2007/05/05/sql-server-udf-user-defined-function-to-find-weekdays-between-two-dates/#comment-92608</link>
		<dc:creator><![CDATA[BT-MicroLink]]></dc:creator>
		<pubDate>Wed, 13 Oct 2010 20:41:45 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/05/sql-function-to-find-weekdays-between-two-dates/#comment-92608</guid>
		<description><![CDATA[--Extending on the contribution by Muthuvel to accommodate date variances less than 1 week or when dates are less than 1 week and are same day or Sat. to Sun.

FUNCTION [dbo].[WeekDayDiff]

(
@StartDate datetime,
@EndDate datetime 
)
RETURNS int

AS

BEGIN

DECLARE @TotalDays INT
DECLARE @WorkDays INT
DECLARE @WeekendEndDate INT
DECLARE @Weeks INT
DECLARE @FinalWeekDays INT

SET @TotalDays = DATEDIFF(day, @StartDate, @EndDate)
SELECT @WeekendEndDate = CASE DATENAME(weekday, @EndDate)
									WHEN &#039;Saturday&#039; THEN 1
									WHEN &#039;Sunday&#039; THEN 2
									ELSE 0 
								  END
SET @TotalDays = CASE WHEN DATEPART(dw,@StartDate) &gt; DATEPART(dw,@EndDate) THEN @TotalDays - @WeekendEndDate - 2
					ELSE @TotalDays - @WeekendEndDate
				 END
SET @Weeks = @TotalDays / 7;
SET @FinalWeekDays = @TotalDays % 7;
SET @WorkDays = CASE WHEN @Weeks = 0 AND (@StartDate = @EndDate OR (DATENAME(weekday, @StartDate) = &#039;Saturday&#039; AND DATENAME(weekday, @EndDate) = &#039;Sunday&#039;)) THEN 0
					WHEN @Weeks = 0 AND @StartDate  @EndDate THEN @TotalDays
					ELSE (@Weeks * 5) + @FinalWeekDays
			    END

RETURN @WorkDays 

END]]></description>
		<content:encoded><![CDATA[<p>&#8211;Extending on the contribution by Muthuvel to accommodate date variances less than 1 week or when dates are less than 1 week and are same day or Sat. to Sun.</p>
<p>FUNCTION [dbo].[WeekDayDiff]</p>
<p>(<br />
@StartDate datetime,<br />
@EndDate datetime<br />
)<br />
RETURNS int</p>
<p>AS</p>
<p>BEGIN</p>
<p>DECLARE @TotalDays INT<br />
DECLARE @WorkDays INT<br />
DECLARE @WeekendEndDate INT<br />
DECLARE @Weeks INT<br />
DECLARE @FinalWeekDays INT</p>
<p>SET @TotalDays = DATEDIFF(day, @StartDate, @EndDate)<br />
SELECT @WeekendEndDate = CASE DATENAME(weekday, @EndDate)<br />
									WHEN &#8216;Saturday&#8217; THEN 1<br />
									WHEN &#8216;Sunday&#8217; THEN 2<br />
									ELSE 0<br />
								  END<br />
SET @TotalDays = CASE WHEN DATEPART(dw,@StartDate) &gt; DATEPART(dw,@EndDate) THEN @TotalDays &#8211; @WeekendEndDate &#8211; 2<br />
					ELSE @TotalDays &#8211; @WeekendEndDate<br />
				 END<br />
SET @Weeks = @TotalDays / 7;<br />
SET @FinalWeekDays = @TotalDays % 7;<br />
SET @WorkDays = CASE WHEN @Weeks = 0 AND (@StartDate = @EndDate OR (DATENAME(weekday, @StartDate) = &#8216;Saturday&#8217; AND DATENAME(weekday, @EndDate) = &#8216;Sunday&#8217;)) THEN 0<br />
					WHEN @Weeks = 0 AND @StartDate  @EndDate THEN @TotalDays<br />
					ELSE (@Weeks * 5) + @FinalWeekDays<br />
			    END</p>
<p>RETURN @WorkDays </p>
<p>END</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Muthuvel</title>
		<link>http://blog.sqlauthority.com/2007/05/05/sql-server-udf-user-defined-function-to-find-weekdays-between-two-dates/#comment-62631</link>
		<dc:creator><![CDATA[Muthuvel]]></dc:creator>
		<pubDate>Wed, 10 Mar 2010 11:07:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/05/sql-function-to-find-weekdays-between-two-dates/#comment-62631</guid>
		<description><![CDATA[DECLARE @TotalDays INT,@WorkDays INT
	DECLARE @ReducedDayswithEndDate INT
	DECLARE @WeekPart INT
	DECLARE @DatePart INT

	SET @TotalDays= DATEDIFF(day, @StartDate, @EndDate) +1
	SELECT @ReducedDayswithEndDate = CASE DATENAME(weekday, @EndDate)
		WHEN &#039;Saturday&#039; THEN 1
		WHEN &#039;Sunday&#039; THEN 2
		ELSE 0 END	
	SET @TotalDays=@TotalDays-@ReducedDayswithEndDate
	SET @WeekPart=@TotalDays/7;
	SET @DatePart=@TotalDays%7;
	SET @WorkDays=(@WeekPart*5)+@DatePart

	RETURN @WorkDays]]></description>
		<content:encoded><![CDATA[<p>DECLARE @TotalDays INT,@WorkDays INT<br />
	DECLARE @ReducedDayswithEndDate INT<br />
	DECLARE @WeekPart INT<br />
	DECLARE @DatePart INT</p>
<p>	SET @TotalDays= DATEDIFF(day, @StartDate, @EndDate) +1<br />
	SELECT @ReducedDayswithEndDate = CASE DATENAME(weekday, @EndDate)<br />
		WHEN &#8216;Saturday&#8217; THEN 1<br />
		WHEN &#8216;Sunday&#8217; THEN 2<br />
		ELSE 0 END<br />
	SET @TotalDays=@TotalDays-@ReducedDayswithEndDate<br />
	SET @WeekPart=@TotalDays/7;<br />
	SET @DatePart=@TotalDays%7;<br />
	SET @WorkDays=(@WeekPart*5)+@DatePart</p>
<p>	RETURN @WorkDays</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: HM</title>
		<link>http://blog.sqlauthority.com/2007/05/05/sql-server-udf-user-defined-function-to-find-weekdays-between-two-dates/#comment-44255</link>
		<dc:creator><![CDATA[HM]]></dc:creator>
		<pubDate>Mon, 17 Nov 2008 21:05:45 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/05/sql-function-to-find-weekdays-between-two-dates/#comment-44255</guid>
		<description><![CDATA[I would like to search for DataLength(AcctNo) = &#039;2&#039; and if first position is = &#039;0&#039; then make AcctNo = 10x where x is second position character of acctno.]]></description>
		<content:encoded><![CDATA[<p>I would like to search for DataLength(AcctNo) = &#8217;2&#8242; and if first position is = &#8217;0&#8242; then make AcctNo = 10x where x is second position character of acctno.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: red</title>
		<link>http://blog.sqlauthority.com/2007/05/05/sql-server-udf-user-defined-function-to-find-weekdays-between-two-dates/#comment-39056</link>
		<dc:creator><![CDATA[red]]></dc:creator>
		<pubDate>Fri, 06 Jun 2008 17:51:09 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/05/sql-function-to-find-weekdays-between-two-dates/#comment-39056</guid>
		<description><![CDATA[if you want to know weekdays fractional to the second ...

create function dbo.WeekDays(@StartDate datetime, @EndDate datetime)
returns float
as
begin
  return (
    (cast(datediff(s, @StartDate, @EndDate) as float) / 86400)
    -(2*DateDiff(ww,@StartDate,@EndDate))+
    case when datepart(dw, @StartDate)=7 then 1 else 0 end
  )
end]]></description>
		<content:encoded><![CDATA[<p>if you want to know weekdays fractional to the second &#8230;</p>
<p>create function dbo.WeekDays(@StartDate datetime, @EndDate datetime)<br />
returns float<br />
as<br />
begin<br />
  return (<br />
    (cast(datediff(s, @StartDate, @EndDate) as float) / 86400)<br />
    -(2*DateDiff(ww,@StartDate,@EndDate))+<br />
    case when datepart(dw, @StartDate)=7 then 1 else 0 end<br />
  )<br />
end</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wieland</title>
		<link>http://blog.sqlauthority.com/2007/05/05/sql-server-udf-user-defined-function-to-find-weekdays-between-two-dates/#comment-35060</link>
		<dc:creator><![CDATA[Wieland]]></dc:creator>
		<pubDate>Mon, 14 Apr 2008 15:51:42 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/05/sql-function-to-find-weekdays-between-two-dates/#comment-35060</guid>
		<description><![CDATA[I think the missing sign should be a &#039;&gt;&#039;, not an &#039;=&#039;. 

i.e.
WHEN (@LastPart &gt; 0) THEN @LastPart - 1]]></description>
		<content:encoded><![CDATA[<p>I think the missing sign should be a &#8216;&gt;&#8217;, not an &#8216;=&#8217;. </p>
<p>i.e.<br />
WHEN (@LastPart &gt; 0) THEN @LastPart &#8211; 1</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: shms</title>
		<link>http://blog.sqlauthority.com/2007/05/05/sql-server-udf-user-defined-function-to-find-weekdays-between-two-dates/#comment-34271</link>
		<dc:creator><![CDATA[shms]]></dc:creator>
		<pubDate>Wed, 12 Mar 2008 03:42:18 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/05/sql-function-to-find-weekdays-between-two-dates/#comment-34271</guid>
		<description><![CDATA[how do i taking holidays when calculating number of working days. because i already create table holiday for store all weekend holidays and public holiday.]]></description>
		<content:encoded><![CDATA[<p>how do i taking holidays when calculating number of working days. because i already create table holiday for store all weekend holidays and public holiday.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben</title>
		<link>http://blog.sqlauthority.com/2007/05/05/sql-server-udf-user-defined-function-to-find-weekdays-between-two-dates/#comment-20005</link>
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Thu, 15 Nov 2007 12:25:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/05/sql-function-to-find-weekdays-between-two-dates/#comment-20005</guid>
		<description><![CDATA[I did one like this:

CREATE FUNCTION [dbo].[WeekdaysCount] 
( @StartDate datetime,
@EndDate datetime )
RETURNS INT
AS
BEGIN

DECLARE @TotalDays int, @WorkDays int, @Sats int, @Suns int

IF (DATEDIFF(day, @StartDate, @EndDate) = 0)
BEGIN
RETURN ( 0 )
END

SET @TotalDays = DATEDIFF(day, @StartDate, @EndDate)
SELECT @Sats = DATEDIFF(ww,@StartDate,@EndDate) + CASE WHEN DATENAME(dw,@StartDate) = &#039;sunday&#039; THEN 1 ELSE 0 END,
@Suns = DATEDIFF(ww,@StartDate,@EndDate) + CASE WHEN DATENAME(dw,@EndDate) = &#039;saturday&#039; THEN 1 ELSE 0 END

SET @WorkDays = @TotalDays - @Sats - @Suns

RETURN ( @WorkDays )
END
GO]]></description>
		<content:encoded><![CDATA[<p>I did one like this:</p>
<p>CREATE FUNCTION [dbo].[WeekdaysCount]<br />
( @StartDate datetime,<br />
@EndDate datetime )<br />
RETURNS INT<br />
AS<br />
BEGIN</p>
<p>DECLARE @TotalDays int, @WorkDays int, @Sats int, @Suns int</p>
<p>IF (DATEDIFF(day, @StartDate, @EndDate) = 0)<br />
BEGIN<br />
RETURN ( 0 )<br />
END</p>
<p>SET @TotalDays = DATEDIFF(day, @StartDate, @EndDate)<br />
SELECT @Sats = DATEDIFF(ww,@StartDate,@EndDate) + CASE WHEN DATENAME(dw,@StartDate) = &#8216;sunday&#8217; THEN 1 ELSE 0 END,<br />
@Suns = DATEDIFF(ww,@StartDate,@EndDate) + CASE WHEN DATENAME(dw,@EndDate) = &#8216;saturday&#8217; THEN 1 ELSE 0 END</p>
<p>SET @WorkDays = @TotalDays &#8211; @Sats &#8211; @Suns</p>
<p>RETURN ( @WorkDays )<br />
END<br />
GO</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Clinton</title>
		<link>http://blog.sqlauthority.com/2007/05/05/sql-server-udf-user-defined-function-to-find-weekdays-between-two-dates/#comment-7779</link>
		<dc:creator><![CDATA[Clinton]]></dc:creator>
		<pubDate>Wed, 15 Aug 2007 07:26:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/05/sql-function-to-find-weekdays-between-two-dates/#comment-7779</guid>
		<description><![CDATA[Hi.  I get the following message when attempting to add your function.  Could you please confirm this works for you

Msg 102, Level 15, State 1, Procedure GetWorkingDays, Line 18
Incorrect syntax near &#039;@FirstPart&#039;.
Msg 102, Level 15, State 1, Procedure GetWorkingDays, Line 51
Incorrect syntax near &#039;END&#039;.]]></description>
		<content:encoded><![CDATA[<p>Hi.  I get the following message when attempting to add your function.  Could you please confirm this works for you</p>
<p>Msg 102, Level 15, State 1, Procedure GetWorkingDays, Line 18<br />
Incorrect syntax near &#8216;@FirstPart&#8217;.<br />
Msg 102, Level 15, State 1, Procedure GetWorkingDays, Line 51<br />
Incorrect syntax near &#8216;END&#8217;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://blog.sqlauthority.com/2007/05/05/sql-server-udf-user-defined-function-to-find-weekdays-between-two-dates/#comment-7607</link>
		<dc:creator><![CDATA[Chris]]></dc:creator>
		<pubDate>Mon, 13 Aug 2007 19:34:56 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/05/sql-function-to-find-weekdays-between-two-dates/#comment-7607</guid>
		<description><![CDATA[Missing &quot;=&quot; from line
WHEN (@LastPart 0) THEN @LastPart - 1
Should be
WHEN (@LastPart = 0) THEN @LastPart - 1]]></description>
		<content:encoded><![CDATA[<p>Missing &#8220;=&#8221; from line<br />
WHEN (@LastPart 0) THEN @LastPart &#8211; 1<br />
Should be<br />
WHEN (@LastPart = 0) THEN @LastPart &#8211; 1</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mike</title>
		<link>http://blog.sqlauthority.com/2007/05/05/sql-server-udf-user-defined-function-to-find-weekdays-between-two-dates/#comment-5886</link>
		<dc:creator><![CDATA[mike]]></dc:creator>
		<pubDate>Thu, 26 Jul 2007 02:32:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/05/sql-function-to-find-weekdays-between-two-dates/#comment-5886</guid>
		<description><![CDATA[also if you want this to be inclusive, add this right below the begin statement and before the first declare

select @StartDate = @StartDate -1
select @EndDate = @EndDate + 1]]></description>
		<content:encoded><![CDATA[<p>also if you want this to be inclusive, add this right below the begin statement and before the first declare</p>
<p>select @StartDate = @StartDate -1<br />
select @EndDate = @EndDate + 1</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mike</title>
		<link>http://blog.sqlauthority.com/2007/05/05/sql-server-udf-user-defined-function-to-find-weekdays-between-two-dates/#comment-5885</link>
		<dc:creator><![CDATA[mike]]></dc:creator>
		<pubDate>Thu, 26 Jul 2007 02:20:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/05/sql-function-to-find-weekdays-between-two-dates/#comment-5885</guid>
		<description><![CDATA[here is the complete text...


CREATE FUNCTION dbo.GetWorkingDays
  ( @StartDate datetime,
    @EndDate datetime )
RETURNS INT
AS
BEGIN
  DECLARE @WorkDays int, @FirstPart int
  DECLARE @FirstNum int, @TotalDays int
  DECLARE @LastNum int, @LastPart int
  IF (DATEDIFF(day, @StartDate, @EndDate) &lt; 2)
    BEGIN
      RETURN ( 0 )
    END
  SELECT
   @TotalDays = DATEDIFF(day, @StartDate, @EndDate) - 1,
   @FirstPart = CASE DATENAME(weekday, @StartDate)
                 WHEN &#039;Sunday&#039; THEN 6
                 WHEN &#039;Monday&#039; THEN 5
                 WHEN &#039;Tuesday&#039; THEN 4
                 WHEN &#039;Wednesday&#039; THEN 3
                 WHEN &#039;Thursday&#039; THEN 2
                 WHEN &#039;Friday&#039; THEN 1
                 WHEN &#039;Saturday&#039; THEN 0
               END,
   @FirstNum = CASE DATENAME(weekday, @StartDate)
                 WHEN &#039;Sunday&#039; THEN 5
                 WHEN &#039;Monday&#039; THEN 4
                 WHEN &#039;Tuesday&#039; THEN 3
                 WHEN &#039;Wednesday&#039; THEN 2
                 WHEN &#039;Thursday&#039; THEN 1
                 WHEN &#039;Friday&#039; THEN 0
                 WHEN &#039;Saturday&#039; THEN 0
               END
  IF (@TotalDays &lt; @FirstPart)
     BEGIN
       SELECT @WorkDays = @TotalDays
     END
  ELSE
     BEGIN
       SELECT @WorkDays = (@TotalDays - @FirstPart) / 7
       SELECT @LastPart = (@TotalDays - @FirstPart) % 7
       SELECT @LastNum = CASE
         WHEN (@LastPart  0) THEN @LastPart - 1
         ELSE 0
       END
       SELECT @WorkDays = @WorkDays * 5 + @FirstNum + @LastNum
     END
  RETURN ( @WorkDays )
END
GO]]></description>
		<content:encoded><![CDATA[<p>here is the complete text&#8230;</p>
<p>CREATE FUNCTION dbo.GetWorkingDays<br />
  ( @StartDate datetime,<br />
    @EndDate datetime )<br />
RETURNS INT<br />
AS<br />
BEGIN<br />
  DECLARE @WorkDays int, @FirstPart int<br />
  DECLARE @FirstNum int, @TotalDays int<br />
  DECLARE @LastNum int, @LastPart int<br />
  IF (DATEDIFF(day, @StartDate, @EndDate) &lt; 2)<br />
    BEGIN<br />
      RETURN ( 0 )<br />
    END<br />
  SELECT<br />
   @TotalDays = DATEDIFF(day, @StartDate, @EndDate) &#8211; 1,<br />
   @FirstPart = CASE DATENAME(weekday, @StartDate)<br />
                 WHEN &#8216;Sunday&#8217; THEN 6<br />
                 WHEN &#8216;Monday&#8217; THEN 5<br />
                 WHEN &#8216;Tuesday&#8217; THEN 4<br />
                 WHEN &#8216;Wednesday&#8217; THEN 3<br />
                 WHEN &#8216;Thursday&#8217; THEN 2<br />
                 WHEN &#8216;Friday&#8217; THEN 1<br />
                 WHEN &#8216;Saturday&#8217; THEN 0<br />
               END,<br />
   @FirstNum = CASE DATENAME(weekday, @StartDate)<br />
                 WHEN &#8216;Sunday&#8217; THEN 5<br />
                 WHEN &#8216;Monday&#8217; THEN 4<br />
                 WHEN &#8216;Tuesday&#8217; THEN 3<br />
                 WHEN &#8216;Wednesday&#8217; THEN 2<br />
                 WHEN &#8216;Thursday&#8217; THEN 1<br />
                 WHEN &#8216;Friday&#8217; THEN 0<br />
                 WHEN &#8216;Saturday&#8217; THEN 0<br />
               END<br />
  IF (@TotalDays &lt; @FirstPart)<br />
     BEGIN<br />
       SELECT @WorkDays = @TotalDays<br />
     END<br />
  ELSE<br />
     BEGIN<br />
       SELECT @WorkDays = (@TotalDays &#8211; @FirstPart) / 7<br />
       SELECT @LastPart = (@TotalDays &#8211; @FirstPart) % 7<br />
       SELECT @LastNum = CASE<br />
         WHEN (@LastPart  0) THEN @LastPart &#8211; 1<br />
         ELSE 0<br />
       END<br />
       SELECT @WorkDays = @WorkDays * 5 + @FirstNum + @LastNum<br />
     END<br />
  RETURN ( @WorkDays )<br />
END<br />
GO</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dal</title>
		<link>http://blog.sqlauthority.com/2007/05/05/sql-server-udf-user-defined-function-to-find-weekdays-between-two-dates/#comment-2033</link>
		<dc:creator><![CDATA[Dal]]></dc:creator>
		<pubDate>Sat, 05 May 2007 18:48:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/05/sql-function-to-find-weekdays-between-two-dates/#comment-2033</guid>
		<description><![CDATA[Alexander is good author. Thanks for bringing this to here.]]></description>
		<content:encoded><![CDATA[<p>Alexander is good author. Thanks for bringing this to here.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

