Return 本周的记录

Return records from this week

SELECT *
FROM TABLE TB
WHERE TB.DATE >= dateadd(day, 1-datepart(dw, getdate()), CONVERT(date,getdate())) 
AND TB.DATE <  dateadd(day, 8-datepart(dw, getdate()), CONVERT(date,getdate()))

我的约会对象是这样的:2015-01-19 00:00:00

目前我的查询return没有记录。我想要 return 本周的记录。从周一到周日创建的任何内容。

我正在使用 SQL 服务器 10.50.1617

试试这个,它会找到本周从周一到周日的所有数据:

SELECT *
FROM TABLE TB
WHERE 
  TB.DATE >= dateadd(d, 0, datediff(d, 0, current_timestamp)/7*7)
  AND TB.DATE <  dateadd(d, 7, datediff(d, 0, current_timestamp)/7*7)

这将适用于周一至周日的本周:

SELECT *
FROM TABLE TB
WHERE TB.DATE >= (DATEADD(day, DATEDIFF(day, 1, getdate()) / 7 * 7, - 0)) 
  AND TB.DATE <=  DATEADD(dd,DATEDIFF(dd,0,getdate())+ 1  , + 2)

这将使您在周一至周日的前一周:

SELECT *
FROM TABLE TB
WHERE TB.DATE >= DATEADD(wk, DATEDIFF(wk, 6, GETDATE())-1, 7) 
  AND TB.DATE <=  (DATEADD(day, DATEDIFF(day, 1, getdate()) / 7 * 7, - 1))