Foxtable(狐表)用户栏目专家坐堂 → [求助] 当前日期为本月的第几周


  共有2370人关注过本帖树形打印复制链接

主题:[求助] 当前日期为本月的第几周

帅哥哟,离线,有人找我吗?
2900819580
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1348 积分:9833 威望:0 精华:0 注册:2015/6/30 8:46:00
[求助] 当前日期为本月的第几周  发帖心情 Post By: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 周  '这个可以得到本年的第几周,

 

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By: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  {生产车间欠料表}

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/13 10:13:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
2900819580
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1348 积分:9833 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By: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 & "'"


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By: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}


 回到顶部