Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > Сложная выборка


Автор: AlexanderI 3.6.2008, 10:42
Здравствуйте.

Есть таблица. Нужно найти значения по данному алгоритму.
Т.е. 
1. Удалить все пробелы
2. Если первая буква 'К' то удалить её

и уже только после этого сравнивать и если значение совпадает с искомым, то выводить его.

Автор: Deniz 3.6.2008, 10:46
СУБД?

Автор: AlexanderI 3.6.2008, 11:27
MySQL

Автор: Akina 3.6.2008, 11:59
Используйте Replace или регулярки

Автор: skyboy 3.6.2008, 13:17
Цитата(Akina @  3.6.2008,  10:59 Найти цитируемый пост)
регулярки

лучше регулярки. 
но медленно.
потому с точки зрения производительности было бы лучше хранить отдельно нечто вроде ключа: поле, значение которого - это пробельновыброшенное и без-буквы-к-впереди значение первого поля. потом ещё надо сделать триггер на обновление и вставку - и будет тебе нужный поиск.
быстро, но тупо.
лучше подумать, какие причины заставляют использовать тебя такой алгоритм поиска, и не использовать ли другую структуру хранения данных? например, если "К впереди" - это часть кода, то выделить его в отдельное поле или даже в отдельную таблицу(в зависимости от разброса значений первого символа и смысла этого поля), а пробелы выбрасывать перед вставкой в таблицу, если это возможно.
и быстро, и оптимизированно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)