写了2个自定义函数,获取指定日期所在年份的第一天日期或最后一天的日期:
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_firstdateoftheyear] ( @theyear datetime ) returns datetime as begin return dateadd(year,datediff(year,0,@theyear),0) end go
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_lastdateoftheyear] ( @theyear datetime ) returns datetime as begin return dateadd(day,-1,dateadd(year,datediff(year,0,@theyear) + 1,0)) end go
举例说明: