set datefirst
现在希望在view 中做到以星期3为一个星期的第一天 请问如何做?
主要目的: 根据一个时间 字段返回类似201245 这样年份周数。
------最佳解决方案--------------------查了一下暂时没有一劳永逸的方法
------其他解决方案--------------------
这种set不是必须调用的时候设置么,就是看默认的能不能改
------其他解决方案--------------------最好贴出你的语句
你有多大数据,你可以自己测测,不同情况不同用法
或
只要是有转换为周,不会有多大影响,你可以测测
想效率就直接用一个字段保存,不用暂时去转换
或在语句前指定SET DATEFIRST
------其他解决方案--------------------大神呢?求解答啊
------其他解决方案--------------------SET DATEFIRST 3;
------其他解决方案--------------------你不是都知道用什么了吗?还有什么问题?
------其他解决方案--------------------
关键是无法使用啊,你这个只能在查询语句中用,如何在视图中加入这个?
------其他解决方案--------------------晕,一直说回复失败,你应该在调用的时候set,而不是在里面set:
set datefirst 3;
select * from 视图
------其他解决方案--------------------
这样就什么用都没有了,主要是要做成自动化的。
------其他解决方案--------------------没看到有实例级别或者数据库级别的可以改的地方。都是会话级别的。
------其他解决方案--------------------利用@@DATEFIRST在语句中转换
------其他解决方案--------------------
说的有点笼统 ,求具体
------其他解决方案--------------------
查看@@DATEFIRST的值?
然后在语句中直接加减天数就行了,向前推或向后推算
DECLARE @dt DATETIME
SET @dt=GETDATE()
SELECT @@DATEFIRST,DATEPART(Weekday,@dt+4)
/*
7 2
*/
------其他解决方案--------------------
你可有考虑到一年的开始和结束所带来的影响?