您将必须编写一个用户定义的函数来执行此操作。有几种方法可以做到这一点,这是我通过快速谷歌搜索找到的一种方法。
CREATE FUNCTION dbo.RemoveChars(@Input varchar(1000))RETURNS VARCHAr(1000)BEGIN DECLARE @pos INT SET @Pos = PATINDEX('%[^0-9]%',@Input) WHILE @Pos > 0 BEGIN SET @Input = STUFF(@Input,@pos,1,'') SET @Pos = PATINDEX('%[^0-9]%',@Input) END RETURN @InputEND警告:我不会在大型表上或返回数百万行的SELECT中将其放在WHERe条件下,但是它将起作用。
最终,与在DB代码中相比,在应用程序的UI中剥离非数字字符可能更好。



