Nie musisz wchodzić w interakcję z kodem zarządzanym, ponieważ możesz użyć LIKE:
CREATE TABLE #Sample(Field varchar(50), Result varchar(50))
GO
INSERT INTO #Sample (Field, Result) VALUES ('ABC123 ', 'Do not match')
INSERT INTO #Sample (Field, Result) VALUES ('ABC123.', 'Do not match')
INSERT INTO #Sample (Field, Result) VALUES ('ABC123&', 'Match')
SELECT * FROM #Sample WHERE Field LIKE '%[^a-z0-9 .]%'
GO
DROP TABLE #Sample
Ponieważ Twoje wyrażenie kończy się na +
możesz iść z '%[^a-z0-9 .][^a-z0-9 .]%'
EDYTUJ :
Aby było jasne:SQL Server nie obsługuje wyrażeń regularnych bez kodu zarządzanego. W zależności od sytuacji, LIKE
operator może być opcją, ale brakuje mu elastyczności zapewnianej przez wyrażenia regularne.