|
The following
function will only keep the characters included in the @OutputRange:
-- T-SQL create user-defined function (UDF) - scalar-valued function
USE AdventureWorks2008;
GO
CREATE FUNCTION fnStringCleanser (@Input varchar(2048), @OutputRange char(10))
RETURNS varchar(2048)
AS
BEGIN
WHILE PATINDEX('%[^'+@OutputRange+']%', @Input) > 0
BEGIN
SET @Input = STUFF(@Input, PATINDEX('%[^'+@OutputRange+']%', @Input), 1, '')
END
RETURN @Input
END
GO
-- Strip out non-numeric characters
SELECT dbo.fnStringCleanser('124-44.45634-','0-9')
GO
-- 1244445634
|