• You can also use regular expression functions.

    regular expressions function

    CREATE FUNCTION dbo.regexReplace

    (

    @source varchar(5000),

    @regexp varchar(1000),

    @replace varchar(1000),

    @globalReplace bit = 0,

    @ignoreCase bit = 0

    )

    RETURNS varchar(1000) AS

    BEGIN

    DECLARE @hr integer

    DECLARE @objRegExp integer

    DECLARE @result varchar(5000)

    EXECUTE @hr = sp_OACreate 'VBScript.RegExp', @objRegExp OUTPUT

    IF @hr <> 0 BEGIN

    EXEC @hr = sp_OADestroy @objRegExp

    RETURN NULL

    END

    EXECUTE @hr = sp_OASetProperty @objRegExp, 'Pattern', @regexp

    IF @hr <> 0 BEGIN

    EXEC @hr = sp_OADestroy @objRegExp

    RETURN NULL

    END

    EXECUTE @hr = sp_OASetProperty @objRegExp, 'Global', @globalReplace

    IF @hr <> 0 BEGIN

    EXEC @hr = sp_OADestroy @objRegExp

    RETURN NULL

    END

    EXECUTE @hr = sp_OASetProperty @objRegExp, 'IgnoreCase', @ignoreCase

    IF @hr <> 0 BEGIN

    EXEC @hr = sp_OADestroy @objRegExp

    RETURN NULL

    END

    EXECUTE @hr = sp_OAMethod @objRegExp, 'Replace', @result OUTPUT, @source, @replace

    IF @hr <> 0 BEGIN

    EXEC @hr = sp_OADestroy @objRegExp

    RETURN NULL

    END

    EXECUTE @hr = sp_OADestroy @objRegExp

    IF @hr <> 0 BEGIN

    RETURN NULL

    END

    RETURN @result

    END

    GO

    the code to get the result:

    select dbo.regexReplace(MyColumn, '[^0-9]', '', 1, 1 )

    from MyTable

    Link with a list of regular expression functions:

    http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=27205