作者:倒退淂磁带_628 | 来源:互联网 | 2018-04-19 13:20
--如何将一个字符串中的所有非数字(0-9及小数点)字符全部除去createfunctionclear_num(@snvarchar(100))--创建自定义函数returnsnvarchar(100)asbeginwhilePATINDEX(#39;%[^0-9.]%#39;,@s)1...
--如何将一个字符串中的所有非数字(0-9及小数点)字符全部除去
create function clear_num (@s nvarchar(100))--创建自定义函数
returns nvarchar(100)
as
begin
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')