Valdemar |
Отправлено: 25.02.2004, 15:58 |
|
Мастер участка
Группа: Участник
Сообщений: 433
|
Есть таблица Access, в которой есть два поля srok_start и srok_end, содержащие дату начала и дату окончания периода. Начало и конец периода могут попасть в один месяц, а может начало в одном месяце, а конец периода в следующем месяце.
Необходимо написать запрос для выборки записей, у которых srok_start попадает в определенный месяц, и посчитать сколько дней периода попало в этот месяц, а сколько дней в следующий. Как отобрать записи за определенный месяц я знаю. Проблема в том как посчитать сколько дней попало в этот, а сколько в следующий месяц. |
|
trigger |
Отправлено: 25.02.2004, 17:22 |
|
Не зарегистрирован
|
в следующем месяце -
day(srok_end)
кажись есть такая ф-я в аксесе.
а в текущем месяце — не зная сколько всего дней в данном месяце — как?
вообще на sql.ru/forum можно поискать. отличный ресурс! наверняка найдутся варианты. |
|
Valdemar |
Отправлено: 26.02.2004, 09:04 |
|
Мастер участка
Группа: Участник
Сообщений: 433
|
2 trigger
QUOTE | в следующем месяце — day(srok_end)
|
Не всегда, если весь период попал в один месяц. то в следующем месяце будет 0. |
|
trigger |
Отправлено: 26.02.2004, 09:57 |
|
Не зарегистрирован
|
да. это я поторопился...
может тогда
day(srok_end)*(mounth(srok_end)-mounth(srok_start))
хотя конечно если период начался в декабре а закончился в январе...
( |
|
Snake |
Отправлено: 26.02.2004, 11:49 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 22
|
date0 = Непереходящий интервал ? srok_end : DateAdd("D",Day(srok_end)*-1, srok_end)
days1 = date0 — srok_start + 1
days2 = srok_end — date0
где date0 — дата отчета
|
|
Snake |
Отправлено: 26.02.2004, 11:49 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 22
|
date0 = Непереходящий интервал ? srok_end : DateAdd("D",Day(srok_end)*-1, srok_end)
days1 = date0 — srok_start + 1
days2 = srok_end — date0
где date0 — дата отчета
|
|