在MS SQL Server中,获取某一年的天数。
你可以先参考下面这篇《获取指定日期所属年份的第一天日期或最后一天日期》 https://www.cnblogs.com/insus/p/10839469.html
就可以使用MS SQL 的一个DATEDIFF函数算出这2个日期之间的日期间隔了。
DECLARE @nowDate DATETIME = '2000-03-04' SELECT DATEDIFF( DAY, [dbo].[svf_FirstDateOfTheYear](@nowDate), [dbo].[svf_LastDateOfTheYear](@nowDate) ) + 1
也可以写成一个自定义Scalar-valued Function:
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_DaysOfTheYear] ( @TheYear DATETIME ) RETURNS INT AS BEGIN RETURN DATEDIFF( DAY, [dbo].[svf_FirstDateOfTheYear](@TheYear), [dbo].[svf_LastDateOfTheYear](@TheYear) ) + 1 END