过滤所有非数字的字符
程序员文章站
2022-05-03 22:35:21
从一字符串中,过滤所有非数字的字符,留下数字。循环所有字符,使用正则[0-9]来匹配。 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- -- Author: Insus.NET -- Create date: 2019-05-14 -- Upd ......
从一字符串中,过滤所有非数字的字符,留下数字。循环所有字符,使用正则[0-9]来匹配。
set ansi_nulls on go set quoted_identifier on go -- ============================================= -- author: insus.net -- create date: 2019-05-14 -- update date: 2019-05-14 -- description: 过滤所有非数字的字符 create function [dbo].[svf_digitalonly] ( @originalstring nvarchar(max) ) returns nvarchar(max) as begin declare @tstr nvarchar(max) = n'', @i int = 1 while @i <= len(@originalstring) begin set @tstr = @tstr + case when substring(@originalstring, @i, 1) like '[0-9]' then substring(@originalstring, @i, 1) else n'' end set @i = @i + 1 end return @tstr end go
试试执行函数:
扩展知识,如果保留字母呢,那可以把上面函数中的正则表达式[0-9]改为[a-za-z]即可。
上一篇: MySQL知识篇-SQL1
下一篇: C++异常的几种捕获方式