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

posted on 2009-01-07 18:27  Jay_Ai  阅读(2553)  评论(0编辑  收藏  举报

导航