Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Verwenden von RegEx in SQL Server

Sie müssen nicht mit verwaltetem Code interagieren, da Sie LIKE:

verwenden können
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

Da Ihr Ausdruck mit + endet Sie können mit '%[^a-z0-9 .][^a-z0-9 .]%' gehen

BEARBEITEN :
Um es deutlich zu machen:SQL Server unterstützt keine regulären Ausdrücke ohne verwalteten Code. Je nach Situation wird das LIKE Operator kann eine Option sein, aber ihm fehlt die Flexibilität, die reguläre Ausdrücke bieten.