前几天接到需求,要求去掉字段中的特殊字符,只保留数字和字母,后来求教别人搞定了,怕有朋友遇到类似的问题,所以分享出来
create FUNCTION DBO.GET_xxx(@S VARCHAR(100))
RETURNS VARCHAR(100)
AS
BEGIN
DECLARE @SQL VARCHAR(100)
SET @SQL=''
SELECT @SQL=@SQL+SUBSTRING(@S,NUMBER,1)
FROM MASTER..SPT_VALUES
WHERE TYPE='P' AND NUMBER<500
AND( SUBSTRING(@S,NUMBER,1) LIKE '[A-Z]' OR SUBSTRING(@S,NUMBER,1) LIKE '[A-Z]' OR SUBSTRING(@S,NUMBER,1) LIKE '[0-9]')
ORDER BY NUMBER
RETURN @SQL
END
注意:这个过程 只能接收大于 2048个字符的处理