sqlserver 提取字符串中的数字 - 数据库知识,sqlserver,mysql知识积累 - CSS模版园-免费网站模版下载
当前位置 CSS模版园 >> 网站制作 >> 数据库 >> sqlserver 提取字符串中的数字

sqlserver 提取字符串中的数字

在mssql中,提取字符串里面的数字,要用到patindex函数循环取出所有数字

declare @s varchar(50)
set @s='数字1数字23,数字4%'
while patindex('%[^0-9]%',@s)>0
        set @s=stuff(@s,patindex('%[^0-9]%',@s),1,'')
select @s --返回1234

若方法比较常用,或者是直接提取表字段值里面的数据,可以封装成函数:

--提取数字
if object_id('dbo.get_num') IS NOT NULL
	drop function dbo.get_num
go
create function dbo.get_num(@s varchar(100))
	returns varchar(100)
AS
begin
	while patindex('%[^0-9]%',@S) > 0
		set @s=stuff(@s,patindex('%[^0-9]%',@s),1,'')
	return @s
end
 --测试,返回1234
select dbo.get_num('数字1数字23,数字4%')

在上面的代码中,使用了sql自带函数patindex

  • patindex ('%pattern%' , str )

  • patindex ('%pattern' , str )

  • patindex ('pattern%' , str )

  • patindex ('%pattern%' , str )

  • patindex ('pattern' , str )

  • patindex('%[pattern]%',str)

  • patindex('%[^pattern]%',str)

'%pattern%' 的用法类是不是和 like '%pattern%' 很像!

想要更了解patindex,点击这里哦:SQL中 patindex函数的用法

声明本站所有资源仅供学习与参考,请勿用于商业用途。转载请注明来自:cssteach.com

原文http://cssteach.com/html/show-14-82.html

若文章内容有错误或无法下载,请在回复中说明(可无需登录,直接评论)

最新文章

图文

热门网站模版