看看SQL又没有这样的功能?
我现在要对传过来的变量作处理,传递过来的变量为:字符串+数字 
 但是我想取出其中的数字,但是字符串位数不固定,在SQL中有没有这样的只取数字的功能,比如,传参数 "AAA12 ",只取到12,关键是前面字符串位数不固定
------解决方案--------------------字符串中如果没有数字,倒是可以做到 
 只能自己写,没有现成的
------解决方案--------------------declare @str varchar(100) 
 set @str= 'AAA12 ' 
 select right(@str, len(@str)-patindex( '%[0-9]% ', @str)+1) 
 --result 
 12 
------解决方案--------------------declare @SQL_ALL CHAR(255) 
 declare @SQL_CHAR CHAR(255) 
 declare @SQL_INT CHAR(255) 
 declare @SQL_LEN INT 
 declare @INT_LEN INT   
 select @SQL_ALL= 'AA121334A16552 ' 
 SELECT @SQL_LEN=len(@SQL_ALL) 
 select @INT_LEN=1 
 while SUBSTRING(@SQL_ALL,@SQL_LEN-@INT_LEN,1) BETWEEN  '1 ' AND  '9 ' 
     SELECT @INT_LEN=@INT_LEN+1   
 SELECT RIGHT(RTRIM(@SQL_ALL),@INT_LEN)   
 -------------- 
 16552
------解决方案--------------------1、字符串中间没有数字,按照marco08(天道酬勤) 的方法比较简单 
 2、如果字符串中间可能有数字,就要从右边开始判断