您的位置:首页 > 数据库

sql中如果查询日期不是星期一则向前推到星期一的日期

2010-08-14 16:52 381 查看
/*sql的星期的数字为
*星期日=1、星期一=2、星期六=7
*/
/*将不在开始日期不是星期一的向前推到星期一*/
StrCondition += " and a.stdate>="
+ " case datepart(dw,'" + StDate + "') "
+ " when 2 then '" + StDate + "' "
+ " when 1 then dateadd(day,-6,'" + StDate + "') "
+ " else DateAdd(day,- datepart(dw,'" + StDate + "')+2,'" + StDate + "') end";


/*将结束日期不是星期日的向后推到星期日*/
StrCondition += " and a.stdate<"
+ " case datepart(dw,'" + EndDate + "') "
+ " when 1 then '" + EndDate + "' "
+ " when 2 then dateadd(day,6,'" + EndDate + "') "
+ " else DateAdd(day,7-datepart(dw,'" + EndDate + "')+1,'" + EndDate + "') end"; ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: