Create Function USF_ExtractNumeric
(
@inputStr nvarchar(50)
)
Returns nvarchar(50)
AS
Begin
Declare @outputStr nvarchar(50)
Set @outputStr = ''
If ISNUMERIC(@inputStr) = 1
Begin
Return @inputStr
End
Declare @I Int
Set @I = 1
While @I <= Len(@inputStr)
Begin
If ASCII(SUBSTRING(@inputStr,@I,1)) <= 57 and ASCII(SUBSTRING(@inputStr,@I,1)) >= 48
Begin
Set @outputStr = @outputStr + SUBSTRING(@inputStr,@I,1)
End
Set @I = @I + 1
End
Return @outputStr
End
测试结果: