我如何从2016年5月1日开始第1周的开始,在2017年4月30日结束第52周的结束。例如:2016年5月1日-2016年5月7日应该是第1周。SQLServer具有相对于会计年度进行计数的星期。这可能吗?我正在使用SQL Server 2016。
select order_date,
datepart(week from order_date)weekorder, product_code
from my_table
where order_date > '4/30/2016'
and order_date < '5/1/2017'
order_date weekorder product_code
2017-03-01 9 16PSS
2016-11-26 48 16PZS
2016-11-18 47 16PSST
2016-05-31 23 16PRS
要求:
order_date weekorder product_code
2017-03-01 47 16PSS
2016-11-26 22 16PZS
2016-11-18 21 16PSST
2016-05-31 5 16PRS
答案 0 :(得分:2)
好吧,您可以使用日期算术:
select order_date,
datediff(day, '2016-04-30', order_date) / 7 as weekorder,
product_code
from my_table
where order_date > '2016-04-30' and
order_date < '2017-05-01';