CREATE FUNCTION [dbo].[TM_S_HitungMinggu]

( @fromdate AS date ,

  @todate AS date 

)

RETURNS int

AS

BEGIN

DECLARE @minggu Integer

DECLARE @hasilBagi Integer 

DECLARE @modBagi Integer 

DECLARE @modBagiMinggu Integer 

DECLARE @tempFromDate Date 

DECLARE @tempToDate Date 

BEGIN

SET @hasilBagi = (DATEDIFF(DAY, @fromdate, @todate)+1)/7

SET @modBagi = (DATEDIFF(DAY, @fromdate, @todate)+1)%7

SET @tempToDate = DATEADD(DAY, @modBagi-1, @fromdate)

SET @tempFromDate = @fromdate

SET @modBagiMinggu = 0

WHILE (@tempFromDate <= @tempToDate) BEGIN

SET @modBagiMinggu += (CASE WHEN DATEPART(dw, @tempFromDate) = 1 THEN 1 ELSE 0 END)

SET @tempFromDate = DATEADD(DAY, 1, @tempFromDate)

END

SET @minggu = @hasilBagi+@modBagiMinggu

END

RETURN @minggu

END