在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