在 oracle 中使用 WEEK 进行计算
Posted
技术标签:
【中文标题】在 oracle 中使用 WEEK 进行计算【英文标题】:Calculation with WEEK in oracle 【发布时间】:2015-01-05 09:20:43 【问题描述】:我正在比较 oracle 中的两个日期,我停留在一个时间点,我必须将我的一周与当前一周进行比较。
假设今天是05-Jan-2015
,这是第一周,输入日期是29_Dec-2014
,我正在执行以下语句进行比较:
ld_week BETWEEN FOCUS_WEEK-4 AND FOCUS_WEEK-1
地点:
ld_week 是从输入日期算起的一周(当年的最后一周) focus_week 是当前日期的一周(明年的第一周)因此 (52 BETWEEN (1-4) AND (1-1)) 总是失败。
我正在使用下面的函数来计算星期。
FOCUS_WEEK := to_number(to_char(to_date(focus_day),'WW'));
请告诉我如何处理它。
【问题讨论】:
【参考方案1】:你的问题有点含糊。我相信你想试试
trunk(date '2014-12-29', 'd')
between
trunk(sysdate - 4*7 , 'd') and
trunk(sysdate - 1*7 , 'd')
使用trunc(date, 'd')
,您可以获得一周的开始日期。
【讨论】:
以上是关于在 oracle 中使用 WEEK 进行计算的主要内容,如果未能解决你的问题,请参考以下文章
andrew ng machine learning week9 异常检测和推荐系统