SQL语句提取字符串中数字 50
用substring正则表达式提取“省内流量包10元300M(5)”字符串中,提取价格数值和赠送流量数值。最好能把小数也截取出来...
用substring正则表达式提取“省内流量包10元300M(5)”字符串中,提取价格数值和赠送流量数值。
最好能把小数也截取出来 展开
最好能把小数也截取出来 展开
1个回答
展开全部
比如你的表叫作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我的方法要比他的好
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我的方法要比他的好
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询