当前位置: 网学 > 编程文档 > MySQL > 正文

MySQL截取字符串里的数字SQL语句的技巧

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/08/02

【编者按】网学网MySQL频道为大家收集整理了“MySQL截取字符串里的数字SQL语句的技巧“提供大家参考,希望对大家有所帮助!

 

mysql截取字符串里的数字SQL语句,在很多时间我们需要把字符串的数字给取出来,通常大家会用php,asp等这类来操作,本文章介绍了在sql中取字符中的数字办法,有需要的朋友可以参考一下。 代码如下:one: declare @s varchar(20) declare @i varchar(20) set @i='' set @s='新会员必须购买350元产品' while PATINDEX ('%[0-9]%', @s)>0 begin set @i=@i+substring(@s,PATINDEX ('%[0-9]%', @s),1) set @s=stuff(@s,1,PATINDEX ('%[0-9]%', @s),'') end select @i -- 300 two: declare @a table(id int identity(1,1),a varchar(100)) insert @a select '新会员必须购买350元产品' union all select '新店首次定货必须满20000元' select left(right(a,len(a)-patindex('%[0-9]%',a)+1),len(right(a,len(a)-patindex('%[0-9]%',a)+1))-1) from @a 上在的 select substring(所查询字符串,patindex('%[^0-9][0-9]%',所查询字符串)+1,patindex('%[0-9][^0-9]%',所查询字符串)-patindex('%[^0-9][0-9]%',所查询字符串)) 这个只能查询第一次在字符串出现的数字串 那么如果出现字符串什么样子的呢 sss8989sss http://www.aichengxu.com ss8989ss8989ss8989 7879aafds789 432432432543534 应该怎么取呢  实例:create function fn_GetNum(@s varchar(8000)) returns varchar(8000) as begin select @s = stuff(stuff(@s, 1, patindex('%[0-9, .]%', @s) - 1, ''), patindex('%[^0-9, .]%', stuff(@s, 1, patindex('%[0-9, .]%', @s) - 1, '')), len(@s), '') return @s end declare @t table(s varchar(8000)) insert @t select 'aaa11112bbb' union all select 'ccc212sss' union all select 'sss21a' select dbo.fn_GetNum(s) as result from @t select substring(s,patindex('%[^0-9][0-9]%',s)+1,patindex('%[0-9][^0-9]%',s)-patindex('%[^0-9][0-9]%',s)) from @t /*功能:获取字符串中的字母*/ CREATE FUNCTION dbo.F_Get_STR (@S VARCHAR(100)) RETURNS VARCHAR(100) AS BEGIN WHILE PATINDEX('%[^a-z]%',@S)>0 BEGIN set @s=stuff(@s,patindex('%[^a-z]%',@s),1,'') END RETURN @S END GO --测试 select dbo.F_Get_STR('测试ABC123ABC') GO /* 功能:获取字符串中的数字 */ create function dbo.F_Get_Number (@S varchar(100)) returns int AS begin while PATINDEX('%[^0-9]%',@S)>0 begin set @s=stuff(@s,patindex('%[^0-9]%',@s),1,'') end return cast(@S as int) end --测试 ---select dbo.F_Get_Number('测试AB3C123AB5C') GO 这样之后不管你是那种组合我们都可以方便的把字符中的数字全部取出来。

  • 上一篇资讯: MySQL的字符串函数
  • 下一篇资讯: MySQL体系结构详解
  • 网学推荐

    免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号