1

我是甲骨文的新手。我已经弄清楚了我需要的大部分内容,但有一个领域让我非常抓狂。似乎它应该很简单,但我认为我的大脑被炸了,我无法理解它。我正在尝试生成销售报告。我正在根据发票日期做各种疯狂的事情。我需要做的最后一件事是能够创建一个周数,以便我可以报告每周的销售年份与年份。就本报告而言,我的财政年度从每年的 12 月 1 日开始(不管它落在星期几)。例如,12 月 1 日至 7 日将是第 1 周,等等。我可以使用各种函数获取周数,但它们都基于日历年或 ISO 周。如何轻松生成一个字段,该字段将为我提供自 12 月 1 日以来的周数?非常感谢你的帮助。

4

1 回答 1

2

忘记默认的周数格式,因为它不适用于此特定要求。我可能会从发票日期中减去前一个 12 月 1 日,然后除以 7。向下舍入,加 1,你应该没问题。

select floor(
  (
  trunc(invoiceDate) - 
  case 
  -- if December is current month, than use 1st of this month
  when to_char(invoiceDate, 'MM') = '12' then trunc(invoiceDate, 'MM')
  -- else, use 1st December of previous year
  else add_months(trunc(invoiceDate, 'YYYY'), -1)
  end
  ) / 7
) + 1
from dual;
于 2016-05-19T12:39:02.320 回答