| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Составление 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 |
лучше регулярки. но медленно. потому с точки зрения производительности было бы лучше хранить отдельно нечто вроде ключа: поле, значение которого - это пробельновыброшенное и без-буквы-к-впереди значение первого поля. потом ещё надо сделать триггер на обновление и вставку - и будет тебе нужный поиск. быстро, но тупо. лучше подумать, какие причины заставляют использовать тебя такой алгоритм поиска, и не использовать ли другую структуру хранения данных? например, если "К впереди" - это часть кода, то выделить его в отдельное поле или даже в отдельную таблицу(в зависимости от разброса значений первого символа и смысла этого поля), а пробелы выбрасывать перед вставкой в таблицу, если это возможно. и быстро, и оптимизированно. |