sql >> Base de Datos >  >> RDS >> Sqlserver

La forma más rápida de eliminar caracteres no numéricos de un VARCHAR en SQL Server

Vi esta solución con código T-SQL y PATINDEX. Me gusta :-)

CREATE Function [fnRemoveNonNumericCharacters](@strText VARCHAR(1000))
RETURNS VARCHAR(1000)
AS
BEGIN
    WHILE PATINDEX('%[^0-9]%', @strText) > 0
    BEGIN
        SET @strText = STUFF(@strText, PATINDEX('%[^0-9]%', @strText), 1, '')
    END
    RETURN @strText
END