首页 > 解决方案 > 返回任何给定日期的周数并从自定义日期开始

问题描述

好吧,我正在尝试创建一个返回周数的函数,但不像返回正常年份的日期部分(01-1 月 - 12 月 31 日)我想使用自定义年份(9 月 1 日 - 8 月 31 日)返回它明年的)我也有一些规则,例如:

我希望使用类似的代码获得结果

select week_number('01/09/2019')

结果:1

select week_number('04/09/2017')

结果:2

标签: sqlfunctiondateadddatepart

解决方案


尝试以下操作:

一个月中的第几周:

declare @date datetime = '01/09/2017'

select (DATEPART(week,@Date)- DATEPART(week,DATEADD(m, DATEDIFF(m, 0, @Date), 0))) 

一年中的第几周:

declare @date datetime = '01/09/2017'

SELECT DATEPART(wk,@Date)

推荐阅读