SQL语句提取字符串中数字 50

用substring正则表达式提取“省内流量包10元300M(5)”字符串中,提取价格数值和赠送流量数值。最好能把小数也截取出来... 用substring正则表达式提取“省内流量包10元300M(5)”字符串中,提取价格数值和赠送流量数值。
最好能把小数也截取出来
展开
 我来答
上官三云
2018-06-29 · TA获得超过2.8万个赞
知道大有可为答主
回答量:1.2万
采纳率:50%
帮助的人:3503万
展开全部
比如你的表叫作TALBE1,字段是str1,类型为nvarchar,那么找出有湘政发的最大号加1这样写
select max(convert(int,substring(str1,patindex(N'%[1234567890]%',str1),len(str1)-patindex(N'%[1234567890]%',str1)+1-patindex(N'%[1234567890]%',reverse(str1))+1)))+1 from table1 where str1 like N'%湘政发%'
测试通过,耗时很长,请认真试试。
这是sql server 的写法。
如果是ORACAL或其它的SQL语言您可以到这里参考一下。你会发现,用SQL SERVER我的方法要比他的好
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式