某一日期所在月份的天數

在MS SQL Server實現這個功能,方法不少。下面Insus.NET使用2個方法來獲取。html

第一種,首先參考此篇《獲取某一日期所在月份的第一天日期或最後一天日期http://www.javashuo.com/article/p-ndtcwdmf-cq.htmlide

接下來,就能夠寫成一個函數,往後在程序中,能夠直接使用這個函數:函數

 

 

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].[svf_DaysOfMonth]
( 
    @InputDate DATETIME 
)
RETURNS INT
AS
BEGIN
    RETURN DATEDIFF(
    DAY,
    [dbo].[svf_FirstDayOfTheMonth](@InputDate),
    [dbo].[svf_LastDayOfTheMonth](@InputDate)
) + 1
END
GO
Source Code

 

獲取月份的天數,還能夠這樣去實現,直接拿指定日期所在月份最後一天,就知道其月份的天數了:post

 

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].[svf_DaysOfMonth]
( 
    @InputDate DATETIME 
)
RETURNS INT
AS
BEGIN    
    RETURN DAY([dbo].[svf_LastDayOfTheMonth](@InputDate))
END
GO
Source Code

 

以這個函數,舉列說明:url

相關文章
相關標籤/搜索