首先获取当周的第一天和最后一天,然后一个between and就完成了。
SELECT (GETDATE()-DATEPART(WEEKDAY,GETDATE())+1) as currentweekstart , (GETDATE()-DATEPART(WEEKDAY,GETDATE())+7) as currentweekend
select * from tb where datediff(week,CreateTime,getdate())=0
不过这个是把上个周日算作本周的开始的。也许你的需求是从星期一开始把
如下:
SELECT COUNT(0) FROM t WHERE DATEPART(week,CreateTime)=DATEPART(week,GETDATE())
这句有问题,我要查询的是当周。。。而CreateTime的时间值可能
2012-11-22
2013-11-22
2011-11-22
2014-11-22
而
DATEPART(week, '2012-11-22')、DATEPART(week, '2013-11-22')、DATEPART(week, '2014-11-22')
与 DATEPART(week,GETDATE()) 的值是相等的
@最佳损友: 你再加个年条件不就ok了。