在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
獲取月份的天數,還能夠這樣去實現,直接拿指定日期所在月份最後一天,就知道其月份的天數了: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
以這個函數,舉列說明:url