SET @strdate='2021-05-05';
SET @enddate='2021-05-12';
-- 不包含enddate当天
SELECT 5*(DATEDIFF(@enddate, @strdate) DIV 7)+MID('0123444401233334012222340111123400001234000123440',7*WEEKDAY(@strdate)+WEEKDAY(@enddate)+1,1);
-- 包含起始日期
SELECT (floor(days/7)*5+days % 7-CASE WHEN 6 BETWEEN wd AND wd+days % 7-1 THEN 1 ELSE 0 END-CASE WHEN 7 BETWEEN wd AND wd+days % 7-1 THEN 1 ELSE 0 END) AS result FROM (
SELECT datediff(@end_date,@start_date)+1 AS days,weekday(@start_date)+1 AS wd) AS a;