字符串取值,请亲们帮忙,谢谢!

songben96998 2015-09-21 04:31:22
这个字符串“生产线滚平线:130+238+130;产板印刷间隔2-4h.”或“摇盖保够150,滚线:150+1238.”

我只要自动取出“130+238+130”或“150+1238”,不要前或后的其他数字,长度和位置都不是固定的,请教亲们sql2000怎么实现
...全文
175 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
songben96998 2015-09-22
  • 打赏
  • 举报
回复
谢谢亲们的关注和指引,现在基本可以取出我想要的数据了
songben96998 2015-09-22
  • 打赏
  • 举报
回复
declare @s varchar(100) declare @i int declare @j int declare @k int declare @len int declare @str1 varchar(100) set @s='产板印刷间隔2-4h.生产线滚平线:130+238+130;' set @str1='' set @len=len(@s) set @i=1 set @j=1 set @k=1 while @i<=@len begin if isnumeric(substring(@s,@i,1))>0 begin set @j=@i if isnumeric(substring(@s,@j,1))>0 and isnumeric(substring(@s,@j+1,1))>0 and isnumeric(substring(@s,@j+2,1))>0 and isnumeric(substring(@s,@j+3,1))>0 and isnumeric(substring(@s,@j+4,1))>0 and isnumeric(substring(@s,@j+5,1))>0 begin set @k=1 while isnumeric(substring(@s,@j,1))>0 and @k<=12 begin set @str1=@str1+substring(@s,@j,1) set @k=@k+1 set @j=@j+1 end if @k<7 begin set @str1='' end end end else begin set @str1=@str1+'' end set @i=@i+@k end select @str1 这个基本上可以了
Haytor 2015-09-22
  • 打赏
  • 举报
回复
你最好多提供一些数据样本,大家才给你分析分析。
songben96998 2015-09-22
  • 打赏
  • 举报
回复
有+号连接的连续7-12位,比如130+1550+130 120+1250 220+995等等,因为这是人工输入的,没有特定的符号作开始或结尾
zbdzjx 2015-09-22
  • 打赏
  • 举报
回复
目前能想到的,只有一个字符一个字符的去读,判断是不是想要的。
qq_17482963 2015-09-21
  • 打赏
  • 举报
回复
不然的话谁知道你想要截取什么值
qq_17482963 2015-09-21
  • 打赏
  • 举报
回复
或者说你的字符串有没有规律,比如说要截取的值在冒号和分号或者句号之间之类的规律
songben96998 2015-09-21
  • 打赏
  • 举报
回复
就是不固定,不好取,还有个条件就是需要的尺寸字符串都在6位长度以上,其他的不用数字都在4位以下
  • 打赏
  • 举报
回复
‘生产线滚平线:’‘ 滚线:’ 这两个固定的话就比较好取了

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧