oracle中用WEEK计算
Calculation with WEEK in oracle
我正在比较 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'));
请告诉我如何处理。
你的问题有点含糊。相信你想试试
trunk(date '2014-12-29', 'd')
between
trunk(sysdate - 4*7 , 'd') and
trunk(sysdate - 1*7 , 'd')
使用 trunc(date, 'd')
可以获得一周的开始日期。
我正在比较 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'));
请告诉我如何处理。
你的问题有点含糊。相信你想试试
trunk(date '2014-12-29', 'd')
between
trunk(sysdate - 4*7 , 'd') and
trunk(sysdate - 1*7 , 'd')
使用 trunc(date, 'd')
可以获得一周的开始日期。