USE [Vertragsverwaltung_20160404] GO /****** Object: UserDefinedFunction [dbo].[get_monatstabelle] Script Date: 02.12.2016 09:08:53 ******/ DROP FUNCTION [dbo].[get_monatstabelle] GO /****** Object: UserDefinedFunction [dbo].[get_monatstabelle] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE FUNCTION [dbo].[get_monatstabelle](@from AS DATETIME, @to AS DATETIME) RETURNS @Dates TABLE(start_date DATETIME, End_Date datetime) AS BEGIN DECLARE @st DATETIME DECLARE @ed DATETIME WHILE @from < @to BEGIN SELECT @st=DATEADD(MONTH, DATEDIFF(MONTH, 0, @from), 0) SELECT @ed=DATEADD(DAY, -1, DATEADD(MONTH, DATEDIFF(MONTH, 0, @from) + 1, 0)) SET @ed=DATEADD(HOUR,23,@ed) SET @ed=DATEADD(MINUTE,59,@ed) SET @ed=DATEADD(SECOND,45,@ed) INSERT @dates (start_date, end_date) VALUES(@st, @ed) SET @from = DATEADD(MONTH, 1,@from) end RETURN END GO