помогите с запросом к БД

Borland

Новичок
помогите с запросом к БД

Короче есть таблица tbl1
в ней поле phone, куда народ пишет свои телефоны.
А пишет он их как кто умеет....
Например: (Все номера нереальны, просьба им не звонить)

(095) 2312312
0959723424
234-97-24
972,56,45
679 57 23
345-45-34 449-72-34, 435-45-34

Это пример 6-ти записей в таблице. Возникла задача создать запрос, в результате которого будут получены толко те записи, которые содержат комбинацию 972 при чём это может быть 972 или 9,72 .... но никак не 9572 , впринципе я думаю понятна проблема.

Вариант с переписыванием данных в БД неприемлем.
Нужен один запрос, который всё извлечёт.
Если кто знает, как такое написть, просьба запостить здесь.
 

Borland

Новичок
да я понимаю, что регекспами.
я пошёл по пути типа
select * from tbl1 where replace(phone, ' ','') REGEXP '972';
... типа нормально но это только для пробела в роли разделителя. А как запихнуть в replace ещё один regexp?
 

Romashov

экспериментатор
А вообще сделай это поле строго числовым.
Проблема разнообразия пользовательских глюков пропадёт сама.
 

Borland

Новичок
Да эти товарищи по несколько номеров могут оставить просто
 

Steamroller

Новичок
Автор оригинала: Romashov
А вообще сделай это поле строго числовым.
По-моему проверить, есть ли в десятичной записи числа последовательность цифр 972 - не самая тривиальная задача. :)
 

Gas

может по одной?
По-моему проверить, есть ли в десятичной записи числа последовательность цифр 972 - не самая тривиальная задача.
чем же? или я юмора не понял? :)
 
Сверху