为了账号安全,请及时绑定邮箱和手机立即绑定

找出字符串中所有数字

标签:
MySQL

刚才网友在SKYPE问Insus.NET一个问题,在MS SQL中,怎样找出一个字符串所有数字。

 

Insus.NET使用较简单与平常的方法,就是使用循环的方法,循环字符串中每一个字符,并插入至一个表变量中。然后再SELECT这个表变量,条件中使用了正则表达式来实现。请参考下面完整的SQL语句,还附加上注释。如遇上不明的, 请继续讨论。

复制代码DECLARE @s NVARCHAR(100) = 'ADF63  2sadf8w 43r fd 8dj2'

--宣告一个表变量
DECLARE @t TABLE ([s] NVARCHAR(2) NULL) 
 
--宣告两个变量,一个是循环初始变量,另一个是存储字符长度变量
DECLARE @I INT = 1, @J INT = LEN(@s)

--开始循环
WHILE @I <= @J
BEGIN    

    --截取每一个字符并存入表变量中
    INSERT INTO @t SELECT SUBSTRING(@s, @I, 1)

    --每循环一个字符,循环初始变量加1
    SET @I = @I + 1
END

-- 最后是SELECT表变量,条件使用正则
SELECT [s] FROM @t WHERE [s] LIKE '%[0-9]%'复制代码

 

 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消