以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  将周一设置成一周的第一天  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85583)

--  作者:fubblyc
--  发布时间:2016/5/29 9:39:00
--  将周一设置成一周的第一天

sql 默认是将 周日 设置成 一周的第一天,不符合我们的习惯,网上查了资料,说在视图前加  set datefirst 1  就可以。

我试了,确实在预览的时候可以,但是保存不了。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160529093820.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2016/5/29 23:19:00
--  

你在foxtable里面,用执行sql语句的方式得到数据吧。

 

set datefirst 1;

Select * F rom 视图名


--  作者:fubblyc
--  发布时间:2016/5/30 0:27:00
--  
我不是在foxtable得到数据,是在数据库里写视图。
--  作者:大红袍
--  发布时间:2016/5/30 0:43:00
--  
以下是引用fubblyc在2016/5/30 0:27:00的发言:
我不是在foxtable得到数据,是在数据库里写视图。

 

视图照样写。获取的时候,像2楼那样获取,也就是在foxtable里面,借助sqlcommand。

 

只有在执行sql语句的时候,才能写 set datefirst 1


--  作者:Hyphen
--  发布时间:2016/5/30 8:26:00
--  
写个存储过程,在存储过程里写

set datefirst 1;
Select * F rom 视图名


然后调用存储过程


--  作者:fubblyc
--  发布时间:2016/5/30 23:11:00
--  

我想到的简便的办法:

case when DateName(weekday,a.[业务日期]) = \'星期日\' then cast(datename(week,a.[业务日期])as int)-1 
else
cast(datename(week,a.[业务日期])as int)
end AS [周次],

 

 

可行!