2015-09-17 3 views
-3

На самом деле я хочу поймать номера телефонов в строке. На некоторых сайтах его упомянутых, которые используют этот Regexpression (ref)Извлечение телефонных номеров из строки с использованием sql

^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$ 

Но это не работает на обычном SQL-запроса. Вот синтаксис:

REGEXP_LIKE (mystring, '^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$') 

Я делаю что-то неправильно здесь?

+3

Я надеюсь, что эта ссылка http://stackoverflow.com/questions/16740423/sql-regex-get-phone-number может помочь вам. Пожалуйста, отметьте один раз – wordpressandphpdev

+0

Пожалуйста, подумайте о публикации фактических ошибок или ошибочных результатов, которые вы получите с помощью текущего запроса. – bernie

+4

'REGEXP_LIKE' - это функция Oracle. Он недоступен в MySQL и SQL Server. Кстати, о какой БД вы используете? Это разные продукты. –

ответ

0

\ d и \ s не существует в MySQL. Используйте [[:digit:]] или [0-9] и [[:space:]] или [[:blank:]] или просто .

Некоторые другие вещи фиксируются здесь:

str REGEXP '^([+][0-9]{1,2})?([(][0-9]{3}[)]|[0-9]{3})[-. ][0-9]{4}$' 
Смежные вопросы