SQL--取字母或数字

这个是我以前学习写的一个小函数,迁移过来。
其中要注意的有:
1、“^”:对两个整数值执行“位异或”运算。
2、“patindex”:你的表达式在条件中的位置。
3、“struff”:删除指定长度值并在指定位置插入另一值。
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    

你可能感兴趣的:(数据库,职场,休闲)