sql server 周一为本周第一天

大概有两种方式实现,

本周   DATEPART(wk, rec_time) = DATEPART(wk, GETDATE())

上一周  DATEPART(wk, rec_time) = DATEPART(wk, GETDATE()) - 1 

第一种
        SET datefirst 1 SELECT
            *
        FROM
               PEOPLECOUNT2
       WHERE
         (
            DATEPART(wk, rec_time) = DATEPART(wk, GETDATE()) - 1
         )


第二种

declare @dateValue datetime, @startDay datetime
 set @dateValue = CONVERT(varchar(100), GETDATE(), 23)
 set @startDay = dateadd(d, CASE WHEN datepart(dw, @dateValue) + @@DATEFIRST > 8 THEN 8 - @@datefirst ELSE 1 - @@datefirst END, dateadd(d,  - datepart(dw, @dateValue) + 1, @dateValue))
 select rec_time,max(people_in) peopleIn,datename(weekday,rec_time) times
 from PEOPLECOUNT2
 where rec_time>= @startDay and rec_time <dateadd(d, 7, @startDay)
 group by datename(weekday,rec_time),rec_time



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值