Vous n'avez pas besoin d'interagir avec le code managé, car vous pouvez utiliser 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
Comme votre expression se termine par +
vous pouvez utiliser '%[^a-z0-9 .][^a-z0-9 .]%'
MODIFIER :
Pour être clair :SQL Server ne prend pas en charge les expressions régulières sans code managé. Selon la situation, le LIKE
L'opérateur peut être une option, mais il n'a pas la flexibilité qu'offrent les expressions régulières.