2012-06-25 4 views
1

У меня возникли проблемы с преобразованием числа недель на сегодняшний день в oracle 11g. Дело в том, что у меня есть два столбца * id | week_code *, и я хотел бы преобразовать его в первый день (понедельник) на этой неделе. Итак, скажем, что у меня есть , что составляет 2-я неделя 2012 года, поэтому результат будет таким: 09-January-2012. Спасибо заранее.Преобразование YYWW на сегодняшний день в Oracle

ответ

1

Попробуйте использовать этот подход: (не проверен).

with date_wk as (
     select to_date('01/01/'||'20'||substr(%input%,1,2), 'MM/DD/ 
RRRR') + rownum - 4 dt 
     from dual 
     connect by level <= 366 
), 
wk_dt as (
     select dt, to_number(to_char(dt, 'iw')) wk_of_yr 

     from date_wk 
) 
select min(dt) 
from wk_dt 
where wk_of_yr = substr(%input%,3,2) 

, чтобы получить желаемую дату и изменить ее формат на «DD-MONTH-YYYY».

+0

Просто потрясающе. Благодаря! – saif3r

Смежные вопросы