首页 > 数据库技术 > 详细

SQL在字符串中取出最长数字子序列

时间:2020-04-29 00:10:39      阅读:57      评论:0      收藏:0      [点我收藏+]
CREATE FUNCTION dbo.GetJZZH(@StrJZZH nvarchar(200))
RETURNS nvarchar(100)  AS
BEGIN
  --声明变量
  --函数返回值
  declare @iRet nvarchar(100)
  --循环用的变量
  declare @i int
  --记录字符串长度
  declare @LenStr int
  --记录字符串中当前字符
  declare @CurStr varchar(1)
  --初始化函数返回值
  set @iRet=‘‘
  --如果字符串里没有数字,直接返回
  if PATINDEX(%[0-9]%,@StrJZZH)=0 
  goto ext
  --变量初始化
  select @LenStr=len(@StrJZZH),@i=1
  while @i<=@LenStr
  begin
   set @CurStr=substring(@StrJZZH,@i,1)
   --如果是数字或者x
   if ((@CurStr>=0) and (@CurStr<=9)) or (@CurStr=x) or (@CurStr=X)
   begin
     --数字就记录下来
     set @iRet=@iRet+@CurStr    
   end
   --出现的是字母
   else
   begin
     if len(@iRet)>6
     begin
       goto ext
     end
     else
     begin
       set @iRet=‘‘
     end    
   end   
   set @i=@i+1
  -- while循环结尾end  
  end  
  ext:
  return @iRet
END;

 

SQL在字符串中取出最长数字子序列

原文:https://www.cnblogs.com/jijm123/p/12797995.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!