if   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N'[dbo].[f_WorkDayADD]')   and   xtype   in   (N'FN',   N'IF',   N'TF'))   
  drop   function   [dbo].[f_WorkDayADD]   
  GO   
    
  --在指定日期上,增加指定工作天数后的日期   
  CREATE   FUNCTION   f_WorkDayADD(   
  @date         datetime,     --基础日期   
  @workday   int               --要增加的工作日数   
  )RETURNS   datetime   
  AS   
  BEGIN   
  DECLARE   @bz   int   
  --增加整周的天数   
  SELECT   @bz=CASE   WHEN   @workday<0   THEN   -1   ELSE   1   END   
  ,@date=DATEADD(Week,@workday/5,@date)   
  ,@workday=@workday%5   
  --增加不是整周的工作天数   
  WHILE   @workday<>0     
  SELECT   @date=DATEADD(Day,@bz,@date),   
  @workday=CASE   WHEN   (@@DATEFIRST+DATEPART(Weekday,@date)-1)%7   BETWEEN   1   AND   5   
  THEN   @workday-@bz   ELSE   @workday   END   
  --避免处理后的日期停留在非工作日上   
  WHILE   (@@DATEFIRST+DATEPART(Weekday,@date)-1)%7   in(0,6)     
  SET   @date=DATEADD(Day,@bz,@date)   
  RETURN(@date)   
  END   
declare @date datetime
declare @workday int
SELECT f_WorkDayADD (@date='2007-10-14 01:36:06.707',@workday=4)消息 102,级别 15,状态 1,第 3 行
'=' 附近有语法错误。