34,588
社区成员
发帖
与我相关
我的任务
分享
DECLARE @dt VARCHAR(50)= '20070301',@month INT,@Sql NVARCHAR(max)='';
SET @month=DATEDIFF(mm,@dt,GETDATE())
SET @Sql=(SELECT TOP (@month) ',DATEADD(Month, '+RTRIM(ROW_NUMBER()OVER(ORDER BY @month)-1)+' , @dt)' FROM sys.columns AS a,sys.columns AS b,sys.columns AS c FOR XML PATH(''))
SET @sql='CREATE PARTITION FUNCTION PF_Month(datetime)
AS RANGE RIGHT
FOR VALUES(
'+STUFF( @Sql,1,1,'')+')'
EXEC sys.sp_executesql @Sql,N'@dt VARCHAR(50)',@dt
GO
SELECT * FROM sys.partition_functions