我正在尝试找到在SQL中从varchar中删除非数字数据的最佳方法,例如:
'(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] 表达式。