日期:2014-05-17  浏览次数:20475 次

set datefirst
现在希望在view 中做到以星期3为一个星期的第一天 请问如何做?


主要目的: 根据一个时间 字段返回类似201245 这样年份周数。
------最佳解决方案--------------------
引用:
引用:
晕,一直说回复失败,你应该在调用的时候set,而不是在里面set:
set datefirst 3;
select * from 视图
这样就什么用都没有了,主要是要做成自动化的。
查了一下暂时没有一劳永逸的方法
------其他解决方案--------------------
引用:
引用:
引用:
晕,一直说回复失败,你应该在调用的时候set,而不是在里面set:
set datefirst 3;
select * from 视图
这样就什么用都没有了,主要是要做成自动化的。查了一下暂时没有一劳永逸的方法

这种set不是必须调用的时候设置么,就是看默认的能不能改
------其他解决方案--------------------
最好贴出你的语句
你有多大数据,你可以自己测测,不同情况不同用法

只要是有转换为周,不会有多大影响,你可以测测

想效率就直接用一个字段保存,不用暂时去转换

或在语句前指定SET DATEFIRST
------其他解决方案--------------------
大神呢?求解答啊
------其他解决方案--------------------
SET DATEFIRST 3;


------其他解决方案--------------------
你不是都知道用什么了吗?还有什么问题?
------其他解决方案--------------------
引用:
你不是都知道用什么了吗?还有什么问题?

关键是无法使用啊,你这个只能在查询语句中用,如何在视图中加入这个? 

------其他解决方案--------------------
晕,一直说回复失败,你应该在调用的时候set,而不是在里面set:
set datefirst 3;
select * from 视图
------其他解决方案--------------------
引用:
晕,一直说回复失败,你应该在调用的时候set,而不是在里面set:
set datefirst 3;
select * from 视图

这样就什么用都没有了,主要是要做成自动化的。
------其他解决方案--------------------
没看到有实例级别或者数据库级别的可以改的地方。都是会话级别的。
------其他解决方案--------------------
利用@@DATEFIRST在语句中转换
------其他解决方案--------------------
引用:
利用@@DATEFIRST在语句中转换

 说的有点笼统 ,求具体
------其他解决方案--------------------
引用:
引用:利用@@DATEFIRST在语句中转换
 说的有点笼统 ,求具体


查看@@DATEFIRST的值?

然后在语句中直接加减天数就行了,向前推或向后推算


DECLARE @dt DATETIME
SET @dt=GETDATE()

SELECT @@DATEFIRST,DATEPART(Weekday,@dt+4)
/*
7 2
*/

------其他解决方案--------------------
引用:
引用:引用:利用@@DATEFIRST在语句中转换
 说的有点笼统 ,求具体

查看@@DATEFIRST的值?

然后在语句中直接加减天数就行了,向前推或向后推算


SQL code?1234567DECLARE @dt DATETIMESET @dt=GETDATE() SEL……

你可有考虑到一年的开始和结束所带来的影响?