2015-01-05 5 views
0

Я сравниваю две даты в оракуле, где я застрял в какой-то момент, когда мне приходится сравнивать мою неделю с текущей неделей.Расчет с WEEK в oracle

Пусть сегодня 05-Jan-2015 и это первая неделя и дата входа 29_Dec-2014 и я выполнение ниже заявления для сравнения:

ld_week BETWEEN FOCUS_WEEK-4 AND FOCUS_WEEK-1 

где:

  • ld_week на неделю с момента ввода (на прошлой неделе текущего года)
  • focus_week - неделя с текущей даты (первая неделя следующего года)

следовательно (52 МЕЖДУ (1-4) И (1-1)) всегда терпит неудачу.

Я использую функцию ниже, чтобы рассчитать неделю.

FOCUS_WEEK := to_number(to_char(to_date(focus_day),'WW')); 

Пожалуйста, дайте мне знать, как с этим справиться.

ответ

2

Ваш вопрос немного расплывчатый. Я считаю, что вы хотите попробовать

 trunk(date '2014-12-29', 'd') 
between 
     trunk(sysdate - 4*7 , 'd') and 
     trunk(sysdate - 1*7 , 'd') 

С trunc(date, 'd') вы получите дату начала недели.

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