【发布时间】:2011-11-15 00:32:44
【问题描述】:
以下是我要做的事情:我有一些数据代表学生应该通过给定基准(在本例中为 6 月 15 日)达到的目标。我正在查看一个事务表并运行一些汇总查询,试图找出在给定时间点有多少学生“在轨道上”,使用“填补数据空白”和“填补空白Inventory Table' 用于计算运行/累积总数并加密数据。 http://download.oracle.com/docs/cd/B28359_01/server.111/b28313/analysis.htm#i1014934
为了在表格的每一行中表达学生的“目标进度”,我试图计算出一年中到 6 月 15 日还剩下多少时间,以便我将运行总数与按比例计算的结果进行比较目标的版本。
我的数据如下:
Measure Goal Year Week Date (YYYY-WW)
106141 400000 2011 42 2011-42
128886 400000 2011 43 2011-43
145449 400000 2011 44 2011-44
156921 400000 2011 45 2011-45
我有一个解决方法,但它真的很糟糕而且很糟糕。
,case
when year = 2012 then 24 - week
when year = 2011 then (52 - week) + 24
else null
end as weeks_to_june_15
(6 月 15 日是 2012 年的第 24 周)。有没有一种更优雅甚至稍微正确的方法来做到这一点?每次我尝试使用日期函数进行计算时,我都会得到非法数字或文字与格式字符串不匹配的错误。
似乎有人完成了一些与我在这里尝试做的事情相关的事情:https://forums.oracle.com/forums/thread.jspa?threadID=633028 但我不确定使用 IYYY 和 IW 重建那个日期是否会让我到达我想去的地方。
如果可能的话,使用 Oracle 11gR2 Express 并希望在 数据库中执行此操作。
谢谢!
【问题讨论】:
标签: sql oracle elapsedtime