通常,年度起始日为每年的1月1日、截止日为12月31日,月份起始日为1日、截止日为28(闰月)或30、31日(大小月)。但有的公司(比如俺们公司)的月份为上月的26日至本月的25日,年度为上年的12月26日至本年的12月25日,那么怎样在查询中自定义年度、月份、年初、年末、月初、月末呢?这里可用IIF与相关日期函数来定义,在查询中运用如下表达式,具体也可下载附件参考:
年度: IIf(Month([日期])=12 And day([日期])>=26,Year([日期])+1,Year([日期]))
月份: IIf(IIf(Day([日期])>=26,Month([日期])+1,Month([日期]))>12,1,IIf(Day([日期])>=26,Month([日期])+1,Month([日期])))
年初: DateSerial(IIf(Month([日期])=12 And Day([日期])>=26,Year([日期]),Year([日期])-1),12,26)
年末: DateSerial(IIf(Month([日期])=12 And Day([日期])>=26,Year([日期])+1,Year([日期])),12,25)
月初: DateSerial(IIf(Month([日期])=1 And Day([日期])<=25,Year([日期])-1,Year([日期])),IIf(IIf(Day([日期])<=25,Month([日期])-1,Month([日期]))=0,12,IIf(Day([日期])<=25,Month([日期])-1,Month([日期]))),26)
月末: DateSerial(IIf(Month([日期])=12 And Day([日期])>=26,Year([日期])+1,Year([日期])),IIf(IIf(Day([日期])>=26,Month([日期])+1,Month([日期]))>12,1,IIf(Day([日期])>=26,Month([日期])+1,Month([日期]))),25)
附 件:
点击下载此附件