有几年没有更新文章,今天在编写脚本,要处理一串字符串中,提取到第一个匹配到的数据。代码如下:
--=======================
--匹配到第一个数字串
--SELECT dbo.Fun_FirstNum('{ID:123,name:生活资讯网,url:http://www.naoqiu.com}')
--=======================
create function dbo.Fun_FirstNum(@No NVARCHAR(4000))
RETURNS INT
AS
BEGIN
if @No='' return null
set @No=substring(@No,patindex('%[0-9]%',@No),len(@No))
if patindex('%[^0-9]%',@No)>0 begin
set @No=left(@No,patindex('%[^0-9]%',@No)-1)
end
if @No='' return null
RETURN CONVERT(INT,@No)
END
go