欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

指定日期,判断其所属年份是否为闰年

程序员文章站 2022-09-13 23:35:17
在MS SQL Server中,获取某一年的天数。 你可以先参考下面这篇《获取指定日期所属年份的第一天日期或最后一天日期》 https://www.cnblogs.com/insus/p/10839469.html 就可以使用MS SQL 的一个DATEDIFF函数算出这2个日期之间的日期间隔了。 ......

在ms sql server中,获取某一年的天数。

你可以先参考下面这篇《获取指定日期所属年份的第一天日期或最后一天日期


就可以使用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

 

函数例子:

 

如果你能参考到这篇《指定日期,判断其所属年份是否为闰年

获取年份的天数,这个函数会更简单:

 

平年的天数为365天,只在判断是否为闰年,如果是,即在平年的天数加1天即可: