Сравнение со зн-ем из БД

  • Автор темы Автор темы saveliy
  • Дата начала Дата начала
Мы так и не получили от автора ответа, какие совпадения требуется находить: позиционные или сквозные...
 
Alexandre, и нафига Вы мой пост отредактировали?
 
baev
Сорри, ответ писал с утра (еще не проснулся ). Не особо понял в чем вопрос!


'123456712345678',
а в базе есть запись
'876543217654321',

Если будет так то совпадет толко 1 в середине строки ))
 
saveliy
Можно проссумировать 15 LIKE операторов, вариант похожий на предложение от FractalizeR
Код:
...
WHERE ------123456789abcdef
((vin LIKE '1______________')
+(vin LIKE '_2_____________')
+(vin LIKE '__3____________')
+(vin LIKE '___4___________')
...
+(vin LIKE '______________f')) > 9
...
 
FractalizeR
Не думаю, что количество полей имеет значение, сильно повлияющее на производительность.
я тоже так считаю, по-этому и предложил не разбивать на несколько полей если от этого выигрыша не будет.

Вместо отдельного поля просто брать i-тый символ vim? Тогда зачем having?
так-как нужно ещё отдать количество отличий, в select'е всё считаем и чтоб не дублировать аналогичные условия в where, заменяем его на having, по скорости по идее должно быть одинаково (медленно :).
 
Сверху