игнорирование части строки при поиске

ic12

Guest
игнорирование части строки при поиске

сразу к примеру:
нужно найти в базе номер телефона (7546658).
в базе номера записаны с разделителями, причем причем все по разному (780-54-65, 754-6658, 778-2-778)

как можно составить запрос, который бы сначала удалял разделители ("-"), а потом сравнивал с данным номером?
или есть другой способ.
 

Bambuk

Новичок
Храни в базе в конечном формате, без разделителей, а при выводе форматируй.
 

ForJest

- свежая кровь
Храни номер телефона числом. И индексы будут дешевле стоить и производительность повысится. А потом форматируй при выводе.
 

Eagle

Guest
Если ты используешь PHP, то можно так: сначала select из базы, потом eregi_replace() - функция PHP (можно удалить пробелы). Или есть другие строковые функции PHP, которые помогут тебе это сделать.
 

alexhemp

Новичок
Eagle

удалить пробелы можно в десятки раз быстрее чем eregi

eregi - нужно забыть как страшный сон. Пользоваться нужно для простых преобразований str_replace, для сложных PRCE.
 

Eagle

Guest
Originally posted by alexhemp
Eagle

удалить пробелы можно в десятки раз быстрее чем eregi

eregi - нужно забыть как страшный сон. Пользоваться нужно для простых преобразований str_replace, для сложных PRCE.
Спасибо за совет, не знал, если честно..
 
Сверху