У меня есть таблица с номером телефона varchar. В этом поле есть номера телефонов, отформатированные по-разному. 999-999-9999 или (999) 999-9999 и т. Д. У меня есть номер телефона, который я пытаюсь найти, который отформатирован следующим образом: «9999999999». Я хотел бы сделать что-то вроде этого:Sybase SQLAnywhere, соответствующие номерам телефонов, отформатированным разными способами
SELECT …
WHERE replace(PHO_PhoneNumber, "[^\\d]", “") = “9999999999”
В основном удалить все не цифры на поле, а затем сравнить.
Есть ли такая функция «заменить», которая использует регулярное выражение, или есть лучший способ найти этот номер, когда в поле номера телефона может быть много разных символов форматирования? Я не могу контролировать, как номера телефонов вводятся в эту таблицу.
Спасибо,
Уоррен
Я думаю, что это версия 11. Все ли между одинарными кавычками просто прямое регулярное выражение? Никакого специального ухода не нужно? – Warren
Довольно много, хотя кажется, что всегда есть небольшие различия в синтаксисе между почти любыми двумя реализациями регулярных выражений. Документы v11 находятся здесь http://dcx.sap.com/index.html#1101/en/dbreference_en11/regexp-search-condition.html –