Jay_Ai

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

分类:

技术点:

相关文章: