Доброго времени суток уважаемые. Можно ли прям в запросе задать, что бы из ячейки выбирались только цифры? Например, ячейка содержит данные 9-654-456-654, а пользователь вводит в поиске 9654456654, возможно ли обойтись средствами MySQL (лишние символы возможны только "тирешки", больше ничего). Понятно, что можно отфильтровать остальные заданные параметры, потом из оставшихся средствами ПХП "почистить" строку, заменив все "тирешки" и тупо сравнивать и загонять в массив, но хотелось бы средствами МуСКЛа.
вроде бы такой встроенной возможности в Mysql нет и нужно писать свою функцию. Нарыл ссылку HTML: [url=http://www.php-groupies.de/blogs/archives/17-Regular-Expression-Functions-for-MySQL.html]http://www.php-groupies.de/blogs/archiv ... MySQL.html[/url]
runner, спасибо, но, кажется мне, почему-то, уж проще в ПХП массив загнать, чем велосипед изобретать.
el нужно обрабатывать телефоны при занесении в базу, чтобы в таблицу попадали телефоны БЕЗ лишних знаков - только цифры. И при поиске, соответственно, тоже отсекать все лишние символы и подавать в запрос только цифры. сам телефон можно хранить в виде строки. если нужен быстрый поиск по номеру телефона, то я бы посоветовал хранить телефон в обратном порядке, т.е. перевёрнутым; создать ключ по данному полю и делать запросы с помощью LIKE '987645%' например, телефон +(99871) 715-14-21 => в базу заносится как '124151717899' пользователь хочет найти номер 7151421, в базу идёт запрос LIKE '1241517%' это позволит сократить затраты на отсечение индексов
Так бы и пришлось сделать. если бы не советы ниже, просто так удобней выводить постранично. Вот это вообще супер, то, что надо - ушёл пробовать. Я тоже так по началу сделал - только циферки заносил (это не телефон, это ISBN книги), но заказчик сказал, что надо "с тирешками", причем они на разных местах могут стоять (а бывает и без тирешек вообще), а вот то, до чего действительно не додумался - хранить оба варианта - и с тирешками и без них, вот за это спасибо.
а как отделяется телефон от просто какого-то набора символов. Ну там ник у кого-нить будет 440-440 и что тогда? Если в это поле ввода вводится только телефон в свободной форме, то есть смысл обрабатывать его в пхп, ибо все равно придется обрабатывать и защищаться. Там же можно и приводить. =)