SQL怎样取出字符串中的数字?

如湘政发15号、湘政函2号、湘人发2号。能不能用sql语句取出中间的数字。在一个字段中,想找出如“湘政发”的最大号并加1,用于公文的编号。... 如湘政发15号、湘政函2号、湘人发2号。能不能用sql语句取出中间的数字。在一个字段中,想找出如“湘政发”的最大号并加1,用于公文的编号。 展开
 我来答
WHITE_WIN
2008-03-02 · TA获得超过6111个赞
知道大有可为答主
回答量:3759
采纳率:50%
帮助的人:1909万
展开全部
比如你的表叫作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我的方法要比他的好
http://book.csdn.net/bookfiles/530/10053017904.shtml
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式