даты - суббота и воскресенье

OALER
Дата: 08.06.2006 11:22:07
Подскажите, пожалуйста, как построить запрос, чтобы из периода, например, месяц исключить все субботы и воскресенья?
Smoker_KRD
Дата: 08.06.2006 11:43:24
Может так?

select *
  from tab
 where tab.date > :start_date
   and tab.date < :end_date
   and to_char(tab.date,
               'D') not in (6, 7);
Владимор Конев
Дата: 08.06.2006 11:49:04
Smoker_KRD
Может так?

select *
  from tab
 where tab.date > :start_date
   and tab.date < :end_date
   and to_char(tab.date,
               'D') not in (6, 7);
Тогда не забудь оговориться, что далеко не во всех странах неделя начинается с понедельника, кое-где оно начинается с воскресенья.
Выстави для сессии американскую локаль и проверь, что тебе вернет запрос - он в аккурат повырезает все пятницы и субботы :)
M_IV
Дата: 08.06.2006 11:49:42
Smoker_KRD
Может так?

select *
  from tab
 where tab.date > :start_date
   and tab.date < :end_date
   and to_char(tab.date,
               'D') not in (6, 7);


Ne zabivaem NLS :)
Elic
Дата: 08.06.2006 11:57:27
Smoker_KRD
   and to_char(tab.date, 'D') not in (6, 7);
Это слишком NLS-зависимый код. Лучше:
to_char(some_date,'dy') not in (to_char(to_date(5,'j'),'dy'), to_char(to_date(6,'j'),'dy'))
mod(to_char(some_date,'j'), 7) < 5
OALER
Дата: 08.06.2006 14:44:42
Всем ОГРОИНОЕ СПАСИБО!!
OALER
Дата: 08.06.2006 14:45:35
ОГРОМНОЕ!