Показать сообщение отдельно
Старый 31.05.2010, 16:29   #4  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от Nosta Посмотреть сообщение
всем привет!

есть нетривиальная (как по мне) задачка:
имеется строка фильтра по полю А для таблицы Х. например, 120..158
имеется значение поля А. например, 136
необходимо проверить попадает ли значение 136 в отфильтрованный набор 120..158?

сначала решил просто и прямо: накладываю фильтр и перебираю записи пока не найду нужное мне значение. если нету, значит не попадает
потом решил дописывать к строке фильтра доп. условия: '('+фильтр+')&'+значение. если находит первую запись, значит попадает.

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

есть ли более быстрые и изящные способы определения вхождения в отфильтрованный набор?
А откуда растут ноги у такой задачи? Я что-то не слышал, что бы фильтры криво отрабатывали.