sqlserver计算每年多少周,返回202501周

DECLARE @inputDate DATE = '2025-01-06'; -- 输入日期

-- 设置一周的第一天为星期一
SET DATEFIRST 1;

-- 获取指定日期是周几
DECLARE @dayOfWeek INT = DATEPART(WEEKDAY, @inputDate);

DECLARE @firstDayOfWeek DATE = DATEADD(DAY, 1 - DATEPART(WEEKDAY, @inputDate), @inputDate);

-- 获取输入日期所在周的最后一天
DECLARE @lastDayOfWeek DATE = DATEADD(DAY, 6 - DATEPART(WEEKDAY, @inputDate), @inputDate);

-- 输出结果
SELECT @dayOfWeek, @firstDayOfWeek, @lastDayOfWeek, YEAR(@lastDayOfWeek), DATEPART(ISO_WEEK, @firstDayOfWeek);
--直接计算需要设置SET DATEFIRST 1;
SELECT CAST(YEAR(DATEADD(DAY, 6 - DATEPART(WEEKDAY, '2025-01-06'), '2025-01-06')) AS VARCHAR(4)) + 
    RIGHT('00' + CAST(DATEPART(ISO_WEEK, DATEADD(DAY, 1 - DATEPART(WEEKDAY, '2025-01-06'), '2025-01-06')) AS VARCHAR(2)),2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值