ОБСУЖДЕНИЕ

Работа с датами

2 ответов 7,6 тыс.
Автор темы
каким образом можно
определить входит ли в период который составляют 2 поля месяц переменной в которой лежит дата(вообще говоря это поле)

Что-то вроде
select * from table where
period_begin <= trunc(TO_DATE('03.01.2003','MM/DD/YYYY'),'mm')
and period_end >= trunc(add_months(TO_DATE('03.01.2003','MM/DD/YYYY'),1),'mm')-1

но, данные TO_DATE('03.01.2003','MM/DD/YYYY') это переменная, и надо менять дни на 1-е число месяца или просто сравнивать с принадлежностью к месяцу.
 
не совсем понял постановку задачи, но думаю, что функция extract вам поможет, например
select * from table where extract(year from dt)=2003 and extract(month from dt)=1
 
Непонятна постановка задачи. С интервалом дат сравнивается дата или с интервалом месяцев сравнивается месяц. Если надо последний день месяца узнать, то можно использовать
last_day(to_date('03.01.2003','MM/DD/YYYY')).