--如何将一个字符串中的所有非数字(0-9及小数点)字符全部除去create function clear_num (@s nvarchar(100))--创建自定义函数returns nvarchar(100)asbegin while PATINDEX('%[^0-9.]%',@s)>=1 set @s=replace(@s,substring(@s,PATINDEX('%[^0-9.]%',@s),1),'')--使用replace(替换非数字字符为空字符串)、substring(确定被替换的字符)和patindex(确定非数字字符串的位置)三个函数 return(@s)end--使用select dbo.clear_num('12qw34.as56zx')