Вы можете создать хранимую процедуру CLR
для замены регулярного выражения. Вот статья на эту тему:
http://weblogs.sqlteam.com/jeffs/archive/2007/04/27/SQL-2005-Regular-Expression-Replace.aspx
Тогда вы могли бы сделать что-то вроде этого:
UPDATE your_table
SET col1 = dbo.RegExReplace(col1, '[^A-Za-z]','');
EDIT:
Поскольку CLR
не вариант, проверьте эту ссылку, там есть функция dbo.RegexReplace
, которая написана на t-sql, а не на CLR. Вы можете использовать эту функцию следующим образом:
Сначала вам нужно запустить это, чтобы включить Ole:
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO
Затем создайте функцию dbo.RegexReplace
, указанную по указанной мной ссылке.
Тогда вы можете сделать это:
create table your_table(col1 varchar(500))
go
insert into your_table values ('aBCCa1234!!fAkk9943');
update your_table set col1 = dbo.RegexReplace('[^A-Za-z]','',col1,1,1);
select * from your_table
Result:
aBCCafAkk