毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 数据库 >> 正文

mssql中如何判断两个日期是在同一个星期内

更新时间:2014-3-23:  来源:毕业论文

DECLARE @a DATETIME DECLARE @b DATETIME SET @a ='2014-03-18'SET @b='2014-03-23'SET DATEFIRST 1 SELECT DATEPART(week,@a),DATEPART(week,@b) /* ----------- ----------- 12          12   (1 行受影响)   */

说这个跟你的区域语言设置有关,比如周日就是第一天,那么23号就会变成第13周?
这样显然不够
同一周不一定同一年

--开始时间与结束时间为日期字段,不是自己加转换.
(
DATEPART(WEEK ,开始时间-1)=DATEPART(WEEK ,结束时间-1)
and DATEPART(YEAR ,开始时间-1)=DATEPART(YEAR ,结束时间-1)
)--同一年的
OR
(
DATEPART(WEEK ,开始时间-1)=DATEPART(WEEK ,convert(varchar(4),理论开始时间,120)+'-12-31')
and DATEPART(YEAR ,结束时间-1) =1
)--隔年的 算开始时间和开始时间那年最后一天同一周,同时结束时间是第二年第一周.
OR
(
DATEPART(WEEK ,开始时间-1)=DATEPART(WEEK ,convert(varchar(4),理论开始时间,120)+'-12-31')
and DATEPART(WEEKDAY ,convert(varchar(4),理论开始时间,120)+'-12-31') <>1
and DATEPART(YEAR ,结束时间-1) =1
)
--还得再加上最后一天不是星期天

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。