SQLServer获取指定时间段日期 函数

连续日期

ALTER FUNCTION [dbo].[fun_getDateListByStartAndEnd]
(	
   @startTm varchar(30),
	 @endTm varchar(30)
)
RETURNS TABLE 
AS
RETURN 
(
	SELECT  DATEADD(dd, number, @startTm) AS MYTM,cast(MONTH(DATEADD(dd, number, @startTm)) as varchar)+'月'+cast(DAY(DATEADD(dd, number, @startTm)) as varchar)+'日' AS MYDAY
    FROM  master.dbo.spt_values
    WHERE  type = 'P' AND number <= DATEDIFF(DAY,CONVERT(varchar(20), @startTm, 23),CONVERT(varchar(20), @endTm, 23))
)

连续月

ALTER FUNCTION [dbo].[fun_getMonth]
(	
   @startTm varchar(30),
	 @endTm varchar(30)
-- 	 @stcd varchar(8)
)
RETURNS TABLE 
AS
RETURN 
(
		SELECT  DATEADD(mm, number, @startTm) AS MYTM,
DateName(month,DATEADD(mm, number,@startTm))+'月' AS MYDAY
FROM  master.dbo.spt_values  WHERE  type = 'P' AND number<= DATEDIFF(mm,CONVERT(varchar(20),@startTm, 23),CONVERT(varchar(20), @endTm, 23))
)

 其他自行改造

猜你喜欢

转载自blog.csdn.net/yuzheh521/article/details/120168092
今日推荐