这里的用例是sqlserver数据库
CREATE FUNCTION wcadmin.CountWorkdays
(
@StartDate DATE,
@EndDate DATE
)
RETURNS INT
AS
BEGIN
DECLARE @Workdays INT = 0;
DECLARE @Counter DATE = @StartDate;
WHILE @Counter <= @EndDate
BEGIN
IF DATEPART(DW, @Counter) NOT IN (1, 7) -- 1 = Sunday, 7 = Saturday
BEGIN
SET @Workdays = @Workdays + 1;
END
SET @Counter = DATEADD(DAY, 1, @Counter);
END
RETURN @Workdays;
END
GO
使用
select wcadmin.CountWorkdays(CONVERT(datetime2, '2024-04-01'),CONVERT(datetime2, '2024-04-02'))