sqlserver写个函数返回对应日期区间的周
时间: 2023-09-25 14:09:21 浏览: 84
sql函數,week周數,返回日期
5星 · 资源好评率100%
可以使用以下 SQL Server 函数来返回指定日期区间的周:
```
CREATE FUNCTION GetWeeksInRange
(
@StartDate DATE,
@EndDate DATE
)
RETURNS TABLE
AS
RETURN
(
SELECT DATEPART(week, DateField) AS WeekNumber
FROM
(
SELECT DATEADD(week, DATEDIFF(week, 0, @StartDate), 0) AS DateField
UNION ALL
SELECT DATEADD(week, DATEDIFF(week, 0, @EndDate), 0) AS DateField
) AS DateRange
WHERE DateField BETWEEN @StartDate AND @EndDate
)
```
然后可以通过以下方式调用该函数:
```
SELECT * FROM GetWeeksInRange('2021-01-01', '2021-12-31')
```
这将返回包含 2021 年 1 月 1 日至 2021 年 12 月 31 日之间的所有周的结果集。
阅读全文