set datefirst解决思路
set datefirst现在希望在view 中做到以星期3为一个星期的第一天 请问如何做?主要目的: 根据一个时间 字段
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)
/*
72
*/
[其他解释]你可有考虑到一年的开始和结束所带来的影响?