以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]SQL语句怎么写日期是哪一年哪一周,及本周是从几号到几号  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100460)

--  作者:ajie5211
--  发布时间:2017/5/11 16:53:00
--  [求助]SQL语句怎么写日期是哪一年哪一周,及本周是从几号到几号

如标题,SQL语句中,如何写日期是哪一年哪一周,及本周是从几号到几号

cmd.Comma ndText = "Sele ct DatePart(yyyy, 下单日期) AS 年,DatePart(ww, 下单日期) AS 周, ( as 日期段),组别," & _
"SUM(总线数) AS 总线数 From {SG2生管订单完工情况} Where 下单日期 >= \'" & kday & "\' GROUP BY " & _
"DatePart(yyyy, 下单日期),DatePart(ww, 下单日期),组别 ORDER BY DatePart(yyyy, 下单日期),DatePart(ww, 下单日期),组别"

 


--  作者:有点色
--  发布时间:2017/5/11 17:35:00
--  

你想加入条件?看红色代码

 

cmd.Comma ndText = "Sele ct DatePart(yyyy, 下单日期) AS 年,DatePart(ww, 下单日期) AS 周, ( as 日期段),组别," & _
"SUM(总线数) AS 总线数 From {SG2生管订单完工情况} Where 下单日期 >= \'" & kday & "\' and DatePart(yyyy, 下单日期) = 2017 GROUP BY " & _
"DatePart(yyyy, 下单日期),DatePart(ww, 下单日期),组别 ORDER BY DatePart(yyyy, 下单日期),DatePart(ww, 下单日期),组别"

 

datePart的周数的计算,是从周日到周六为一周,不是从周一开始的。如果要用周日开始,要这样 http://www.cnblogs.com/biwork/p/3546728.html

 

如果你要筛选本周的数据,参考 http://www.foxtable.com/webhelp/scr/2706.htm

 

 


--  作者:ajie5211
--  发布时间:2017/5/11 17:53:00
--  
以下是引用有点色在2017/5/11 17:35:00的发言:

你想加入条件?看红色代码

 

cmd.Comma ndText = "Sele ct DatePart(yyyy, 下单日期) AS 年,DatePart(ww, 下单日期) AS 周, ( as 日期段),组别," & _
"SUM(总线数) AS 总线数 From {SG2生管订单完工情况} Where 下单日期 >= \'" & kday & "\' and DatePart(yyyy, 下单日期) = 2017 GROUP BY " & _
"DatePart(yyyy, 下单日期),DatePart(ww, 下单日期),组别 ORDER BY DatePart(yyyy, 下单日期),DatePart(ww, 下单日期),组别"

 

datePart的周数的计算,是从周日到周六为一周,不是从周一开始的。如果要用周日开始,要这样 http://www.cnblogs.com/biwork/p/3546728.html

 

如果你要筛选本周的数据,参考 http://www.foxtable.com/webhelp/scr/2706.htm

 

 

我希望能帮我把“( as 日期段)”给我完善一下,比如,下单日期为2017/05/03时,得到“2017/04/30~2017/05/06  as 日期段”这样的校果。周按默认的来就可以,不需要重周一到周日,按原来的周日到周六就可以。


--  作者:有点色
--  发布时间:2017/5/11 18:08:00
--  

生成表以后,循环每一列,根据年份和周数,确定范围

 

Dim y As Integer = 2017
Dim w As Integer = 6
Dim start As Date = new Date(y, 1, 1)
start = start.AddDays(-start.DayOfWeek)
start = start.AddDays(7*(w-1))
msgbox(start & " - " & start.AddDays(6))

 


--  作者:ajie5211
--  发布时间:2017/5/11 18:34:00
--  
OK,谢谢!