Oracle обрезает пробелы внутри строки

Я храню номера телефонов как VARCHAR2 в моей системе, чтобы пользователи могли вводить '+' персонажи перед своим номером телефона, если они того пожелают.

Мое регулярное выражение позволяет это прекрасно, но при сохранении номера в базе данных я хочу удалить все пробелы, которые может ввести пользователь.

Мое регулярное выражение допускает следующие форматы

+4470123456789
+447 0123456789
+447 01234 56789
01234567890
01234 567890
01234 567 890

Я знаю, что могу решить свою проблему, не позволяя пользователям ставить пробелы в своих числах, но я знаю из личного опыта, насколько неприятно иметь ошибку проверки из-за некоторого глупого форматирования на стороне клиента. Я пытался использовать функцию TRIM в своем триггере INSERT / UPDATE, но я понял, что он ограничен только передним и конечным пробелами, есть ли в Oracle какие-либо другие функции, которые я мог бы использовать, чтобы удалить внутренние пробелы? Или мне нужно написать собственную функцию для этого?

Любые указатели будут с благодарностью.

Ответы на вопрос(1)

Ваш ответ на вопрос