• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Хранение периодов дат. И работа с ними.

  • Автор темы DNT
  • Дата начала
D

DNT

Есть необходимость проверять какой лимит был у абонента в том или ином месяце.
В работе должно выглядеть так: анализируя дату на входе функция возвращает значение лимита для абонента в данное время.

Как это привильней разрулить? С одной стороны как эту информацию хранить и накапливать? С другой как делать выборку значения лимита по дате.?

что-то никак не придумаю...
спс за ответы. :D
 
G

GROMILA

у абононта лимит чего? лимит колбасы?
анализируя какую дату на входе?

Плюс следует привести пример: исходные данные, входные параметры и что должно получиться на выходе!!!!
 
D

DNT

Да какая разница лимит чего? Пусть будет колбаса... :D

Задача:
1.Необходимо в БД сохранить и обновлять переодически документ-справочник следующего вида:

1. с 1.12.2006 по 1.01.2007 - лимит 5 кг.
2. с 1.01.2007 по 15.01.2007 - лимит 10 кг.
...
N. с dd.mm.yyyy по dd.mm.yyyy - лимит X кг.

Количество и "размер" интервалов не должен ограничиваться

2.
Затем проверять определенную дату на то, в какой из этих интервалов она попадает.
Например: анализируем дату 10.01.2007.
Попали во второй интервал - взяли лимит 10 кг. Проверили, а пользователь, собако, сожрал 11 кг. Уволить!!! :)

Так вот собственно и вопросы:
1. как хранить? в виде чего?
2. как проверять куда попали? хотя если подскажете как хранить думаю со вторым вопросом разберусь...
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
1. как хранить? в виде чего?
Два типа документов.
1. Документ абонента.
2. Документ лимита (подчиненные документу абонента).

2. как проверять куда попали? хотя если подскажете как хранить думаю со вторым вопросом разберусь...
Обработать коллекцию.
 
G

GROMILA

Документы
Form = Limita
Пользователь = Гриша
с = 1.12.2006
по = 1.01.2007
лимит = 5 кг.

Выборка
Сколько имел :) лимитов Гриша первого числа сего месяца?
FTSearch(Form = Limita &
Пользователь = Гриша &
с<=Проверяемая дата &
Проверяемая дата <=1.01.2007
)
Получишь коллекцию пересекающихся диапазонов дат и лимитов
если не контроллировать при вводе.

Замечание: при сравнении диапазона дат влияют часы:минуты:секунды, посему даты
диапазонов следует сохраять с предварительным форматированием
дата C должна быть 0:00:00, а дата ПО должна быть 23:59:59
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!