• How about this?

    declare @pos smallint

    declare @string varchar(100)

    set @string = '1109A><":{$%^&*4DSE2@!~$%^&567KJHGT'

    while isnumeric(@string+'e0') = 0

    begin

    set @pos = (select patindex('%[^0-9]%',@string))

    set @string = (select replace(@string,substring(@string,@pos,1),''))

    end

    select @string

    there is a reson to add 'e0' to the string. check this out,

    select IsNumeric('1002e0')

    in this case IsNumeric returns 1. So in the above example @String never get replaced with ''. Adding 'e0' again would resolve that.

    read more about this:

    http://www.tek-tips.com/faqs.cfm?fid=6423