DateDiff函数不支持FirstDayofWeek,怎么办? 可以设置DATEFIRST,如下:SET DATEFIRST 5 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不支持,就是不支持所以你应该在其他方面打主意.你可以用下面的语句来设置SQL第一周是星期几:SET DATEFIRST将一周的第一天设置为从 1 到 7 之间的一个数字。 先设:SET DATEFIRST 1再:DateDiff(ww, date1, date2) --不过,这个设置对datediff是无效的,看下面的测试SET DATEFIRST 1select datediff(ww,'2004-8-15','2004-8-13') ,datepart(weekday,'2004-8-15'),datepart(week,'2004-8-15') ,datepart(week,'2004-8-15')-datepart(week,'2004-8-13')--结果: -1 7 33 0SET DATEFIRST 7select datediff(ww,'2004-8-15','2004-8-13') ,datepart(weekday,'2004-8-15'),datepart(week,'2004-8-15') ,datepart(week,'2004-8-15')-datepart(week,'2004-8-13')--结果: -1 1 34 1 到底SET DATEFIRST几啊?大家怎么说的不一样呢? 所以看来楼主得采用变通的方法:1.像我测试的那样: SET DATEFIRST 1 datepart(week,@date1)-datepart(week,@date1)2.不改变默认设置,直接把日期减一处理 DateDiff(ww, dateadd(day,-1,@date1),dateadd(day,-1,@date2)) SET DATEFIRST 1 --表示一周和第一天是星期一SET DATEFIRST 2 --表示一周和第一天是星期天这个设置对datediff无效,这样说明白了吧? 如何恢复追加到媒体的备份 Sqlserver如何产生空行的记录? server 2000表中行顺序问题 大家进来看看软件sql软件安装问题,大家帮帮忙! 【数据字典还有数据流图】 数据库乱码问题,高手请进 请教各位师兄,进者有分! 关于SQL Server Analysis Services,请大家帮帮忙啊 已给出表结构,数据,做交叉表时出现的问题 “非”高手莫进!!!关于动态建表(指数据库表结构)! 接通网线,本地数据库就连接不上? 求一簡單SQL語句
你可以用下面的语句来设置SQL第一周是星期几:SET DATEFIRST
将一周的第一天设置为从 1 到 7 之间的一个数字。
SET DATEFIRST 1
再:
DateDiff(ww, date1, date2)
select datediff(ww,'2004-8-15','2004-8-13')
,datepart(weekday,'2004-8-15'),datepart(week,'2004-8-15')
,datepart(week,'2004-8-15')-datepart(week,'2004-8-13')--结果: -1 7 33 0
SET DATEFIRST 7
select datediff(ww,'2004-8-15','2004-8-13')
,datepart(weekday,'2004-8-15'),datepart(week,'2004-8-15')
,datepart(week,'2004-8-15')-datepart(week,'2004-8-13')--结果: -1 1 34 1
SET DATEFIRST 1
datepart(week,@date1)-datepart(week,@date1)2.不改变默认设置,直接把日期减一处理
DateDiff(ww, dateadd(day,-1,@date1),dateadd(day,-1,@date2))
SET DATEFIRST 2 --表示一周和第一天是星期天
这个设置对datediff无效,这样说明白了吧?