|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.06.2014, 05:28 | #1 |
Новичок
Джуниор
Регистрация: 04.06.2014
Сообщений: 4
|
Поиск номера телефона в БД
Добрый день, форумчани.
Есть задача, найти в БД телефон. Но телефоны в БД храняться по разному, некоторые так: 89198578453, некторые так 8(919)8578453 некоторые 7(919)8578453 некоторые +7(919)8578453 некоторые 7(919) 85 - 78 - 453 и т.п. Как найти телефон в такой ситуации? Есть идея. Может переменную в php так обработать что бы первые 1 или 2 символа убирались т.е. 8 или +7 после чего убираем все символы кроме цифр и получаем хвост вида 9198578453 и его проверяем по БД, но вот теперь как к то кому же виду привести запись в БД при запросе? Заранее благодарен если поможете. |
04.06.2014, 08:38 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Самый оптимальный и правильный вариант - хранить в базе номер только из цифр. Его бы и использовал
Самый не оптимальный и дубовый вариант - оставить все как есть и сделать пользовательскую функцию, убирающую из номера все не цифры и обращаться к ней в условии WHERE И если СУБД нормально поддерживает регулярные выражения, то в LIKE его использовать. Но тоже не оптимально
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 04.06.2014 в 09:02. |
04.06.2014, 14:27 | #3 |
Новичок
Джуниор
Регистрация: 04.06.2014
Сообщений: 4
|
сейчас бы хотя бы неоптимальный бы вариант
Можете помочь сделать эту функцию которую в WHERE вставить можно будет? Очень благодарен буду |
04.06.2014, 14:46 | #4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
вставлю свои пять копеек...
Цитата:
|
|
04.06.2014, 15:33 | #5 |
Новичок
Джуниор
Регистрация: 04.06.2014
Сообщений: 4
|
Serge_Bliznykov, mysql
|
04.06.2014, 17:15 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
04.06.2014, 17:29 | #7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
preg_replace в MySQL есть?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
04.06.2014, 18:03 | #8 |
Новичок
Джуниор
Регистрация: 04.06.2014
Сообщений: 4
|
Аватар, вроде что то типо того есть, регулярку можно использовать, если хотя бы регулярку сделать, то я дальше сам попробую затолкать её в запрос.
|
04.06.2014, 18:48 | #9 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Наверно типа такого, не уверен, с регулярками не дружу. Поэксперементируй
Код:
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 04.06.2014 в 18:58. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск номера телефона в текстовом файле | biowoooooolf | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 04.03.2011 15:11 |
Поле для выбора номера телефона | Никки | Общие вопросы по Java, Java SE, Kotlin | 1 | 04.02.2011 06:57 |
вместо номера телефона выводится на экран какой-то мусор | le_den | Общие вопросы C/C++ | 2 | 25.11.2008 20:45 |
Определение номера телефона | xpress | Общие вопросы по Java, Java SE, Kotlin | 6 | 29.04.2008 20:02 |