在MS SQL Server中,獲取某一年的天數。 你可以先參考下麵這篇《獲取指定日期所屬年份的第一天日期或最後一天日期》 https://www.cnblogs.com/insus/p/10839469.html 就可以使用MS SQL 的一個DATEDIFF函數算出這2個日期之間的日期間隔了。 ...
在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) ) + 1Source Code
也可以寫成一個自定義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 ENDSource Code
函數例子:
如果你能參考到這篇《指定日期,判斷其所屬年份是否為閏年》 https://www.cnblogs.com/insus/p/10841868.html
獲取年份的天數,這個函數會更簡單:
平年的天數為365天,只在判斷是否為閏年,如果是,即在平年的天數加1天即可: