• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > mysql中取字符串中的数字的语句

mysql中取字符串中的数字的语句

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了字符串,数字等相关知识,希望本文的分享对您有所帮助

在很多时间我们需要把字符串的数字给取出来,通常大家会用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.jb51.net 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


这样之后不管你是那种组合我们都可以方便的把字符中的数字全部取出来。
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • mysql整数数据类型深入解析
  • SQL字符串以及数字常用操作汇总
  • MySQL笔记之字符串函数的应用
  • 使用java处理字符串公式运算的方法
  • MySQL慢查询查找和调优测试
  • mysql截取函数常用方法使用说明
  • MySQL里实现类似SPLIT的分割字符串的函数
  • mysql查询字符串替换语句小结(数据库字符串替换)
  • mysql中取字符串中的数字的语句
  • MySQL的字符串函数使用说明

相关文章

  • 2017-05-11MySQL计划任务(事件调度器) Event Scheduler介绍
  • 2017-05-11mysql query browser中文乱码的解决方法
  • 2018-12-05sql语句中如何将datetime格式的日期转换为yy-mm-dd格式
  • 2018-12-05教你如何用一台机器运行多个 MySQL 服务
  • 2017-05-11MySQL定时执行脚本(计划任务)命令实例
  • 2018-12-05MySQL ODBC 3.51 Driver配置时出现Access Denied的问题解决
  • 2018-12-05教你如何启动和停止Mysql服务之二
  • 2018-12-05详解数据库MySQL中文乱码解决办法总结(图文)
  • 2018-12-05MySQL优化-常用函数代码详解(图)
  • 2018-12-05mysql中的跨库关联查询方法详解

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MysqL安全策略分享
    • 在ubuntu中重置mysql服务器root密码的方法
    • 使用innobackupex基于从库搭建mysql主从架构
    • Mysql删除重复的数据的方法
    • 超越MySQL 对流行数据库进行分支的知识小结
    • mysql 字符串长度计算实现代码(gb2312+utf8)
    • MySQL中字符串函数详细介绍
    • 25行实现mysql树查询代码详解
    • MySQL主从复制实战-基于GTID的复制代码分享
    • CPU资源和可用内存大小对数据库性能有何影响?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有