SQL 截取字符串中字母或数字
--=======================
--截取字符串中所有的数字
--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