By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
SET DATEFIRST 1 -- Set week start = Monday
--SET DATEFIRST 6 -- Uncomment to set week start = Saturday
select
dt,
yeay = DATEPART(Year, dt),
week = DatePart(week, dt),
weekday = DatePart(weekday, dt), -- Note this is also affected by SET DATEFIRST
weekday = DateName(weekday, dt)
FROM (
VALUES
('2021-12-25'),
('2021-12-26'),
('2021-12-27'),
('2021-12-28'),
('2021-12-29'),
('2021-12-30'),
('2021-12-31'),
('2022-01-01'),
('2022-01-02'),
('2022-01-03'),
('2022-01-04'),
('2022-01-05'),
('2022-01-06'),
('2022-01-07'),
('2022-01-08'),
('2022-01-09')
) D(dt)
ORDER BY dt
dt | yeay | week | weekday | weekday |
---|---|---|---|---|
2021-12-25 | 2021 | 52 | 6 | Saturday |
2021-12-26 | 2021 | 52 | 7 | Sunday |
2021-12-27 | 2021 | 53 | 1 | Monday |
2021-12-28 | 2021 | 53 | 2 | Tuesday |
2021-12-29 | 2021 | 53 | 3 | Wednesday |
2021-12-30 | 2021 | 53 | 4 | Thursday |
2021-12-31 | 2021 | 53 | 5 | Friday |
2022-01-01 | 2022 | 1 | 6 | Saturday |
2022-01-02 | 2022 | 1 | 7 | Sunday |
2022-01-03 | 2022 | 2 | 1 | Monday |
2022-01-04 | 2022 | 2 | 2 | Tuesday |
2022-01-05 | 2022 | 2 | 3 | Wednesday |
2022-01-06 | 2022 | 2 | 4 | Thursday |
2022-01-07 | 2022 | 2 | 5 | Friday |
2022-01-08 | 2022 | 2 | 6 | Saturday |
2022-01-09 | 2022 | 2 | 7 | Sunday |