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