sql 去除字段中非数字字符

2025-03-26 00:52:31
推荐回答(2个)
回答1:

用函数:
create function test_f(@name varchar(50))
returns varchar(50)
as
begin
while patindex('%[^0-9]%',@name)>0
set @name=stuff(@name,patindex('%[^0-9]%',@name),1,'')
return @name
end

用法:
declare @name varchar(200)
set @name='1231dasd4566asdf'
select dbo.test_f(@name)

回答2:

思路:找到第二个$,更新数据为$后面的
实例:

UPDATE A
SET A.a1 = (
SUBSTR(a1, INSTR(a1, $, '2') + 1, LENGTH(a1))
)