Bạn có thể làm điều này trong một câu lệnh duy nhất. Bạn không thực sự tạo ra một tuyên bố với hơn 200 THAY THẾ phải không ?!
update tbl
set S = U.clean
from tbl
cross apply
(
select Substring(tbl.S,v.number,1)
-- this table will cater for strings up to length 2047
from master..spt_values v
where v.type='P' and v.number between 1 and len(tbl.S)
and Substring(tbl.S,v.number,1) like '[0-9]'
order by v.number
for xml path ('')
) U(clean)
Làm việc SQL Fiddle hiển thị truy vấn này với dữ liệu mẫu
Nhân rộng dưới đây cho hậu thế:
create table tbl (ID int identity, S varchar(500))
insert tbl select 'asdlfj;390312hr9fasd9uhf012 3or h239ur ' + char(13) + 'asdfasf'
insert tbl select '123'
insert tbl select ''
insert tbl select null
insert tbl select '123 a 124'
Kết quả
ID S
1 390312990123239
2 123
3 (null)
4 (null)
5 123124