以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 当前日期为本月的第几周  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102082)

--  作者:2900819580
--  发布时间:2017/6/13 9:40:00
--  [求助] 当前日期为本月的第几周

sele ct 上报日期,year(上报日期) as 年,month(上报日期) as 月,day(上报日期) as 日,datepart(ww,上报日期) as 周 ,负责人,数量,完成,计划日期,回复逾期,逾期,首复逾期,终复逾期  fr om {生产车间欠料表} where 上报日期 between \'" &  dt1.Value  & "\' And \'" & dt2.Value & "\'"

datepa rt(ww,上报日期) as 周  \'这个可以得到本年的第几周,

 

 

我想要的是本月的第几周,这个要怎么才可以得到。


--  作者:有点色
--  发布时间:2017/6/13 10:12:00
--  
Select 上报日期, RTRIM(Case WHEN DATEPART(dw,DATEADD(dd,-1,上报日期))>=5 Then MONTH(DATEADD(dd,-7,上报日期)) Else MONTH(上报日期) End)+\'月的第\'+RTRIM(Case WHEN DATEPART(dw,DATEADD(dd,-DAY(上报日期),上报日期))>=5 Then 0 Else 1 End+Case WHEN DATEPART(dw,DATEADD(dd,-1,上报日期))>=5 Then CEILING(DAY(DATEADD(dd,-7,上报日期))/7.0) Else CEILING(DAY(上报日期)/7.0) End) +\'周\' from  {生产车间欠料表}
--  作者:有点色
--  发布时间:2017/6/13 10:13:00
--  

 参考

 

http://bbs.csdn.net/topics/391930430

 


--  作者:2900819580
--  发布时间:2017/6/13 11:12:00
--  

老师,我参照改了一下,还是有问题,代为修改一下。

cmd.CommandText = "se lect 上报日期,year(上报日期) as 年,month(上报日期) as 月,day(上报日期) as 日,"
cmd.CommandText = cmd.CommandText & " RTRIM(Case WHEN DATEPART(dw,DATEADD(dd,-DAY(上报日期),上报日期))>=5 Then 0 Else 1 End + Case WHEN DATEPART(dw,DATEADD(dd,-1,上报日期)) >= 5 Then CEILING(DAY(DATEADD(dd,-7,上报日期))/7.0) Else CEILING(DAY(上报日期)/7.0) End) as 周"
cmd.CommandText = cmd.CommandText & " ,负责人,数量,完成,计划日期,回复逾期,逾期,首复逾期,终复逾期  fro m {生产车间欠料表} where 上报日期 between \'" &  dt1.Value  & "\' And \'" & dt2.Value & "\'"


--  作者:有点色
--  发布时间:2017/6/13 11:19:00
--  

cmd.CommandText = "se lect 上报日期,year(上报日期) as 年,month(上报日期) as 月,day(上报日期) as 日,"
cmd.CommandText = cmd.CommandText & " RTRIM(Case WHEN DATEPART(dw,DATEADD(dd,-DAY(上报日期),上报日期))>=5 Then 0 Else 1 End+Case WHEN DATEPART(dw,DATEADD(dd,-1,上报日期))>=5 Then CEILING(DAY(DATEADD(dd,-7,上报日期))/7.0) Else CEILING(DAY(上报日期)/7.0) End) as 周 "
cmd.CommandText = cmd.CommandText & " ,负责人,数量,完成,计划日期,回复逾期,逾期,首复逾期,终复逾期  fro m {生产车间欠料表} where 上报日期 between \'" &  dt1.Value  & "\' And \'" & dt2.Value & "\'"

[此贴子已经被作者于2017/6/13 11:19:38编辑过]

--  作者:有点色
--  发布时间:2017/6/13 11:20:00
--  

 我这样测试也没问题

 

Select 上报日期, RTRIM(Case WHEN DATEPART(dw,DATEADD(dd,-DAY(上报日期),上报日期))>=5 Then 0 Else 1 End+Case WHEN DATEPART(dw,DATEADD(dd,-1,上报日期))>=5 Then CEILING(DAY(DATEADD(dd,-7,上报日期))/7.0) Else CEILING(DAY(上报日期)/7.0) End) as 周 from  {abc}