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

前端之家收集整理的这篇文章主要介绍了sql-server – 如何仅在SQL Server中获取当前周的数据?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当从当前记录中输入记录当前日期的表中,我想要记录.

我努力了:

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()的时间部分,因为您希望数据从午夜开始.

原文链接:https://www.f2er.com/mssql/82678.html

猜你在找的MsSQL相关文章