Я пытаюсь найти лучший способ удалить нечисловые данные из varchar в SQL, например:
'(082) 000-0000' to '0820000000' or
'+2782 000 0000' to '0820000000'
Сложность в том, что я не всегда уверен, какие числовые форматы поступают, как показано выше, поэтому я бы хотел, чтобы все, что не является числовым форматом, было по существу удалено.
Обновление:
Из того, что вы, ребята, сказали, это небольшой всплеск:
declare @Num varchar(20)
set @Num = ' + (82) 468 6152 '
--strip nonnumrical data out of @num
print @Num
set @Num = replace(@Num, ' ', '')
set @Num = replace(@Num, '+', '')
set @Num = replace(@Num, '-', '')
set @Num = replace(@Num, '(', '')
set @Num = replace(@Num, ')', '')
print @Num
Не удалось получить правильное выражение замены [^ 0-9].