主要是获取本周的日期查询,我试过:...where datediff(day,改档日期,getdate())<= 7,但只能获取最近7天内的数据,还不是本周的数据。详细问题描述贴:
http://community.csdn.net/Expert/topic/3991/3991106.xml?temp=.1489527
http://community.csdn.net/Expert/topic/3991/3991106.xml?temp=.1489527
解决方案 »
- asp.net mvc 中同名action冲突
- 关于c#读取Excel后赋值问题
- 如何反射非公共的函数?
- 急,想找类似以下网站的原码
- 请问下这个怎么回事?
- 求助:在VB中控件ListView有ItemClick(ByVal item as MSComctlLib.ListItem)事件,请问在C#中如何实现?
- 为什么我的c#一运行就crash了
- 如何在C#开发中使用Kodak的ActiveX控件?
- 安装vs2005后,再卸载vs2003时说什么安装程序无法确定安装的有效顺序
- 当winform上任一位置单击、双击事件时,怎样都能执行某一个方法?
- netmeeting视频的问题!
- 如何把同结构的tb1里的部分数据赋值给tb2?
DateTime.Now.DayOfWeek可以帮助你方法2,在SQL语句里取Day/7的余数,可以知道当前是星期几,然后再取得本星期的开始日期和结束日期,用“Between...And”和传入的日期匹配(一个参数)
一周固定是7天,知道现在是周几那么接下来的事情就OK了,至于去年本周应该是方法一比较简单
然后使用其它日期函数来确定适当的日期如 DATEPART ( week , '2005-1-1') 的值为1datepart是指定应返回的日期部分的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。日期部分 缩写
year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
weekday dw
Hour hh
minute mi, n
second ss, s
millisecond ms
week (wk, ww) 日期部分反映对 SET DATEFIRST 作的更改。任何一年的 1 月 1 日定义了 week 日期部分的开始数字,例如:DATEPART(wk, 'Jan 1, xxxx') = 1,此处 xxxx 代表任一年。weekday (dw) 日期部分返回对应于星期中的某天的数,例如:Sunday = 1、Saturday = 7。weekday 日期部分产生的数取决于 SET DATEFIRST 设定的值,此命令设定星期中的第一天。
比如:2005-05-01 是星期日,这时的月份也要改;
再如:2005-12-31 是星期六,这时的年、月份都要改。很是麻烦!寻求SQL语句解决问题...
Declare @myDayInWeek int--当前周几
Declare @BeginDate smalldatetime--本周开始日期
Declare @EndDate smalldatetime--本周结束日期
Declare @TestDate smalldatetime--测试结果是否正确日期
select @myDate='2005-05-09'
print @myDate
select @myDayInWeek=DatePart(weekday,@myDate)--取得周几
print @myDayInWeek
select @BeginDate=DATEADD(day,@myDayInWeek-@myDayInWeek,@myDate)--取得本周开始日期
print @BeginDate
select @EndDate=DATEADD(day,7-@myDayInWeek + 1,@myDate)--取得本周结束日期
print @EndDateselect @TestDate ='2005-05-15'--自己设置检测用日期
--正确返回1,错误返回0
select case when @TestDate between @BeginDate and @EndDate then 1 else 0 end