问候SQL大师,
我不知道你是否可以帮助我,但我会尝试.我有几个按年份分组的大型数据库(每年在不同的数据库中).我希望能够比较从一年到下一年的特定周的值.例如,"告诉我2008年第17周与2002年第17周."
我有以下几周的定义,理想情况下我会使用:
有任何想法吗?
提前致谢.
最好避免创建表,因为这样您必须更新并维护它以使您的查询起作用.
DatePart('ww',[myDate])
会给你一周的号码.你可能会遇到一些问题虽然决定哪一周属于哪一年 - 例如,如果2003年1月1日是星期三那么这周是属于2002年的第52周还是2003年的第1周?您的会计部门将有一周中的某一天即您周末(通常是周六).我通常只选择有最多日子的年份.DatePart将始终将第一周计为1,并且在上周的示例中将其计为53.您可能无关紧要.您可以为每年创建查询
SELECT DatePart('ww',[myDate]) as WeekNumber,myYearTable.* as WeekNumber
FROM myYearTable
Run Code Online (Sandbox Code Playgroud)
然后加入查询以获取您的数据.如果一张桌有52周,一张有53张(大多数会显示为53张),你会在年底失去几天.或者你可以在你的周末做这件事 - 这总是给你周六,这将推迟到下一年的一周.
(7-Weekday([myDate]))+[myDate]
Run Code Online (Sandbox Code Playgroud)
然后
DatePart('ww',(7-Weekday([myDate]))+[myDate])
Run Code Online (Sandbox Code Playgroud)
希望有所帮助