--=======================

--截取字符串中所有的数字

--SELECT dbo.F_Get_No('JUST A TEST:123!')

--=======================

CREATE function dbo.F_Get_No

(

@No varchar(100)

)

RETURNS INT

AS

BEGIN

WHILE PATINDEX('%[^0-9]%',@No)>0

BEGIN

SET @No=STUFF(@No,PATINDEX('%[^0-9]%',@No),1,'')

END

RETURN CONVERT(INT,@No)

END

--=======================

--截取字符串中所有的字母

--SELECT dbo.F_Get_Letter('JUST A TEST:123!')

--=======================

ALTER function dbo.F_Get_Letter

(

@Letter NVARCHAR(100)

)

RETURNS NVARCHAR(100)

AS

BEGIN

WHILE PATINDEX('%[^A-Z]%',@Letter)>0

BEGIN

SET @Letter=STUFF(@Letter,PATINDEX('%[^A-Z]%',@Letter),1,'')

END

RETURN @Letter

END