望SQL高手指点,使用指定一个月当中第几周当查询条件要怎么写?

2025-04-08 05:17:53
推荐回答(3个)
回答1:

2013年当前月的第一周数据:
select *from tab where datename(month,time)=month(getdate())and datename(year,time) ='2013' and datename(day,time)<=7
2013年当前月的第二周数据:
select *from tab where datename(month,time)=month(getdate())and datename(year,time) ='2013' and datename(day,time)<=14 and datename(day,time)>7
依此类推。

回答2:

我们一般会这样处理

  1. 创建一个日期的维表,记录 日期 年 月 日 第几周等字段,当然这张表 要自己写脚本跑出数据来,记录的大小就根据自己的需要来调整

  2. 然后在需要特殊日期处理的时候把日期和这张维表关联来处理

回答3:

select datepart(week,getdate()),可以去看下datepart的介绍