实现这个功能,先参考下面几篇博文《https://www.cnblogs.com/insus/archive/2011/04/22/2025019.html

https://www.cnblogs.com/insus/archive/2011/09/10/2173028.html

https://www.cnblogs.com/insus/archive/2011/09/11/2173612.html


可以写一个Table-valued Functions:

 获取当月的天数列表

 

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author:      Insus.NET
-- Create date: 2019-05-09
-- Update date: 2019-05-09
-- Description: 获取指定月份所有日期
-- =============================================

CREATE FUNCTION [dbo].[tvf_DaysOfMonth]
(
    @InputDate DATETIME
)
RETURNS @dump TABLE
(
    [Date] DATETIME
)
AS
BEGIN    
   DECLARE @firstDayOfMonth DATETIME = DATEADD(MONTH,DATEDIFF(MONTH,0,@InputDate),0) --获取所在月份第一天日期

    DECLARE @daysOfMonth INT =  DAY(DATEADD(DAY,-1, DATEADD(MONTH,1,@firstDayOfMonth)))  --获取所在月份的天数

    INSERT INTO @dump ([Date]) VALUES(@firstDayOfMonth) --把第一天插入表中。

    DECLARE @d INT = 1
    WHILE @d < @daysOfMonth
    BEGIN
        INSERT INTO @dump ([Date]) VALUES(@firstDayOfMonth + @d)
        SET @d = @d + 1
    END
    RETURN
END
Source Code

相关文章:

  • 2021-08-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-19
  • 2022-12-23
  • 2022-12-23
  • 2021-12-08
猜你喜欢
  • 2021-08-10
  • 2021-07-04
  • 2021-08-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案