加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 如何仅在SQL Server中获取当前周的数据?

发布时间:2020-12-12 16:12:42 所属栏目:MsSql教程 来源:网络整理
导读:当从当前记录中输入记录当前日期的表中,我想要记录. 我努力了: SELECT PId,WorkDate,Hours,EmpId FROM Acb WHERE EmpId=@EmpId AND WorkDate BETWEEN DATEADD(DAY,-7,GETDATE()) AND GETDATE() 解决方法 像这样做: SET DATEFIRST 1 -- Define beginning of
当从当前记录中输入记录当前日期的表中,我想要记录.

我努力了:

SELECT PId,WorkDate,Hours,EmpId            
FROM Acb       
WHERE EmpId=@EmpId AND WorkDate BETWEEN DATEADD(DAY,-7,GETDATE()) AND GETDATE()

解决方法

像这样做:
SET DATEFIRST 1 -- Define beginning of week as Monday
SELECT [...]
AND WorkDate >= dateadd(day,1-datepart(dw,getdate()),CONVERT(date,getdate())) 
AND WorkDate <  dateadd(day,8-datepart(dw,getdate()))

说明:

> datepart(dw,getdate())将返回当前星期的数字,从1到7,从您使用SET DATEFIRST指定的任何值开始.> dateadd(day,getdate())减去到达本周开始的必要天数> CONVERT(date,getdate())用于删除GETDATE()的时间部分,因为您希望数据从午夜开始.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读